'宣言 Public Function AddAnnotation( _ ByVal node As SyntaxNode, _ ByVal annotation As SyntaxAnnotation _ ) As SyntaxTree
public SyntaxTree AddAnnotation( SyntaxNode node, SyntaxAnnotation annotation )
例外 | 解説 |
---|---|
System.ArgumentNullException | node が null の場合に発生します。 |
System.ArgumentNullException | annotation が null の場合に発生します。 |
System.ArgumentException | node の Infragistics.Documents.TextDocumentSnapshot が SyntaxTree の Snapshot と一致しない場合に発生します。 |
構文ツリーのノードに診断または注釈がアタッチされる場合、結果の構文ツリーは等しい構文ツリーです。同じ構造を表しますが、追加の情報が関連付けられています。現在のツリーまたは現在のツリーに相当する任意のツリーのノードに注釈を追加できます。たとえば、2 つのノードに注釈を付ける必要がある場合、以下のように呼び出しをチェーンできます。
var newTree = originalTree.AddAnnotation(node1, annotation1).AddAnnotation(node2, annotation2);この 2 つのノードは元のツリーから取得されたものですが、node2 には、最初の AddAnnotation 呼び出しによって返された変更されたツリーに関する注釈が付けられます。この場合、変更されたツリー内の対応するノードに annotation2 の注釈が付けられ、新しく変更されたツリーが返されて newTree に保存されます。
ツリーが等しくかどうかを確認するには、Snapshot 値が同じかどうかを確認します。