0

C# の使用

Interface A,
Interface B,

Class AA:A
{

 public AA(A a)
{
 //...
}

}

Class BB:B
{

public BB(B b)
{
  //...
}

}

コードは正常に動作し、循環参照の問題は発生していませんか?

4

1 に答える 1

2

なぜだめですか?構文はさておき、自己相似構造はコンピューター サイエンスのいたるところに見られます。二分木を考えてみましょう。各ノードには他の 2 つのツリーへの参照があります (それらのルート ノードで表されます)。このようなツリーを作成する典型的な方法は、型の他のインスタンスへの 1 つではなく 2 つの参照で構築される型です。

より一般的には、型システムのサイクルはオブジェクト グラフのサイクルと同じではありません。通常、1 つ目は仕様によるものですが、2 つ目はバグに変わる方法があります。

于 2011-09-08T03:11:42.973 に答える