まず、ノードを定義しましょう。
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
、これらのセッターをアセンブリ全体に公開していますが、これは望ましくありません。