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