2009-01-19 34 views
2

我在两个不同的.NET程序集中有两个类A和B:AssemblyA和AssemblyB。如何从程序集继承类而不强制用户引用两个程序集

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

由于项目的限制,我需要保持两个程序集分开,所以我不能使用合并工具来合并两个程序集。

请注意,类的实际继承不是必须的 - 我希望能够将A中的逻辑从AssemblyB作为类B的一部分运行,尽可能少地重写功能。

有没有办法做到这一点?它以这种方式

回答

9

号的想法 - 想在下面的蜉类型:

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

你怎么能指望智能感知知道什么是可用的,如果它不知道什么是A类?编译器如何能够验证方法调用等?

了解继承链上的父类。这意味着引用这两个项目。如果你不想这样做,不要使用继承 - 让B编写A而不是派生它。用户在执行时仍然需要A的二进制文件,但我不认为他们需要在Visual Studio中添加引用。 (另一方面,如果他们要调试代码,他们可能会想要确保二进制文件位于正确的位置......)