代码之家  ›  专栏  ›  技术社区  ›  Dror Helper

如何从程序集继承类而不强制用户引用两个程序集

  •  2
  • Dror Helper  · 技术社区  · 16 年前

    我希望类B继承类A,但我希望它使用类B只需要引用AssemblyB(而不是AssemblyA和AssemblyB)。

    由于项目限制,我需要将两个程序集分开,因此无法使用合并工具合并两个程序集。

    1 回复  |  直到 15 年前
        1
  •  9
  •   orip    16 年前

    不,这样想吧——假设你输入以下内容:

    public class B : A
    {
          public void Foo()
          {
                this.// Cursor is here
          }
    }
    

    如果Intellisense不知道A级中的内容,您如何期望它知道可用的内容?编译器如何验证方法调用等?

    了解继承链上的所有父类。这意味着引用两个项目。如果您不想这样做,不要使用继承-使B组成A,而不是从中派生。用户在执行时仍然需要二进制文件作为可用文件,但我不需要 认为 他们需要在VisualStudio中添加一个引用。(另一方面,如果他们要调试代码,他们可能无论如何都想确保二进制文件位于正确的位置…)