私はC#プログラミングにまったく慣れていません。したがって、2 つのクラスが次のように定義されている 2 つのアセンブリ 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 を参照する これで、次のコードで Asm1 を使用する asm3 という実行可能なアセンブリができました。
//Asm3
A a = new A();
System.Console.Write(a.MyProperty.ToString());
上記のコードは、エラーなしで正しくコンパイルされます。
しかし、クラス A に少し変更を加えてクラス B から継承すると、うまくいきません。コンパイルされず、エラーが発生します。しかし、asm3 への参照として asm2 を追加すると、機能します。それはなぜか教えてください。別のアセンブリに直接依存していないアセンブリが、それを参照する必要があるのはなぜですか? 前もって感謝します。