後方 (親参照) を持つオブジェクトのツリーを作成する構成ルートを生成するにはどうすればよいですか。
二分木を構築したい次の単純なノード オブジェクトを想像してください。
class Node
{
public Node Parent{get;}
public Node Child1{get;}
public Node Child2{get;}
public Node(Node parent, Node child1, Node child2)
{
Parent = parent;
Child1 = child1;
Child2 = child2;
}
}
これが私が立ち往生している場所です:
public void CompositionRoot()
{
//example of a parent node with
Node Parent = new Node
(
null, //the parent has no parent node
new Node
( /* ??? here should come the reference to the parent node,
but since it's inside its own constructor I have
no reference yet */
, null //the child node contains no further child
, null
)
)
}
循環依存が含まれているため、依存性注入の原則をこの種のオブジェクト グラフと組み合わせようとするのは間違っていますか? 解決策は何ですか?