我對c#編程頗爲陌生。 所以讓我們假設我們有兩個組件ASM1,ASM2其中兩個類的定義如下:爲什麼沒有直接依賴於其他程序集的程序集必須引用它?
//Asm1
namespace ClassLibrary1
{
public class A//: B
{
B b = new B { i = 2};
public int MyProperty { get { return b.i; } }
}
}
//Asm2
namespace ClassLibrary2
{
public class B
{
public int i;
}
}
ASM1引用ASM2 現在我們有一個可運行的組件說,ASM3,使用ASM1與下面的代碼:
//Asm3
A a = new A();
System.Console.Write(a.MyProperty.ToString());
上述代碼編譯正確無誤。
但是,當我們對A類進行小改動並且從B類繼承時,事情就出錯了。不會編譯併產生錯誤。 但是,當我們添加asm2作爲參考asm3它的作品。請告訴我爲什麼。 爲什麼一個程序集與另一個程序集沒有直接的依賴關係,必須引用它? 在此先感謝。
可能的重複[爲什麼我(有時)必須引用程序集引用的程序集引用?](http://stackoverflow.com/questions/10210729/why-do-i-sometimes-have-to- reference-assemblies-referenced-by-the-assembly-ir) – ChrisF 2013-02-12 20:41:52