まず、ノードを定義しましょう。
LinkedListNode<int> node = new LinkedListNode<int>(43);
node.Listプロパティ、node.Nextおよびnode.Previousがすべてgetのみであることに気付くでしょう。ノードを に追加しましょうLinkedList:
LinkedList<int> linkedlist = new LinkedList<int>();
linkedlist.AddFirst(node);
この時点で、プロパティnode.Listは への参照を含むように変更されますlinkedlist。同様に、他のノードが に追加されたLinkedList場合、NextおよびPreviousプロパティは、これらのプロパティがパブリックsetアクセサーを公開していなくても、リンクされたリストの構造を反映するように更新されます。
この動作はどのように実装されていますか?
を使ってそれを行う方法は知っていますinternalが、もっと良い方法はありますか? たとえば、 and だけでなく、多くの型を含む 1 つのアセンブリがあるLinkedListとしLinkedListNodeます。ノード プロパティList、Previousおよびのセッターを作成することでNext、これらのセッターをアセンブリ全体に公開していますが、これは望ましくありません。