'宣言 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 値が同じかどうかを確認します。