Freigeben über


SyntaxNode Klasse

Definition

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

public ref class SyntaxNode abstract
[System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")]
public abstract class SyntaxNode
[<System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")>]
type SyntaxNode = class
Public MustInherit Class SyntaxNode
Vererbung
SyntaxNode
Abgeleitet
Attribute

Eigenschaften

ContainsAnnotations

Bestimmt, ob dieser Knoten oder ein unterer Knoten, Token oder Trivia Anmerkungen enthält.

ContainsDiagnostics

Bestimmt, ob für diesen Knoten oder einen seiner untergeordneten Knoten, Token oder Trivia Diagnose vorhanden sind.

ContainsDirectives

Bestimmt, ob dieser Knoten über untergeordnete Präprozessordirektiven verfügt.

ContainsSkippedText

Bestimmt, ob dieser Knoten über übersprungenen nachgeordneten Text verfügt.

FullSpan

Die absolute Spannweite dieses Knotens in Zeichen, einschließlich seiner führenden und nachfolgenden Trivia.

HasLeadingTrivia

Bestimmt, ob dieser Knoten über führende Trivia verfügt.

HasStructuredTrivia

Bestimmt, ob ein untergeordnetes Trivia dieses Knotens strukturiert ist.

HasTrailingTrivia

Bestimmt, ob dieser Knoten über nachgestellte Trivia verfügt.

IsMissing

Bestimmt, ob der Knoten ein Sprachkonstrukt darstellt, das tatsächlich aus dem Quellcode analysiert wurde. Fehlende Knoten werden vom Parser in Fehlerszenarien generiert, um Konstrukte darzustellen, die im Quellcode vorhanden sein sollten, um erfolgreich zu kompilieren, aber tatsächlich fehlten.

IsStructuredTrivia

Bestimmt, ob dieser Knoten ein strukturiertes Trivia darstellt.

KindText

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

Language

Der Sprachname, für den dieser Knoten syntaxiert ist.

Parent

Der Knoten, der diesen Knoten in seiner ChildNodes() Auflistung enthält.

ParentTrivia

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

RawKind

Eine ganze Zahl, die die sprachspezifische Art dieses Knotens darstellt.

Span

Die absolute Spanne dieses Knotens in Zeichen, ohne seine führenden und nachfolgenden Trivia.

SpanStart

Identisch mit dem Zugriff auf Start .Span

SyntaxTree

Gibt zurück SyntaxTree , der besitzer des Knotens ist.

SyntaxTreeCore

Gibt SyntaxTree zurück, die besitzer des Knotens ist. Wenn der Knoten nicht zu einer Struktur gehört, wird ein Knoten generiert.

Methoden

Ancestors(Boolean)

Ruft eine Liste der Vorgängerknoten ab.

AncestorsAndSelf(Boolean)

Ruft eine Liste der Vorgängerknoten ab (einschließlich dieses Knotens)

ChildNodes()

Ruft eine Liste der untergeordneten Knoten in Präfixdokumentreihenfolge ab.

ChildNodesAndTokens()

Die Liste der untergeordneten Knoten und Token dieses Knotens, wobei jedes Element ein SyntaxNodeOrToken-instance ist.

ChildThatContainsPosition(Int32)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

ChildTokens()

Ruft eine Liste der direkten untergeordneten Token dieses Knotens ab.

Contains(SyntaxNode)

Bestimmt, ob der angegebene Knoten ein Nachkomme dieses Knotens ist. Gibt true für den aktuellen Knoten zurück.

ContainsDirective(Int32)

Gibt true zurück, wenn dieser Knoten irgendwelche Anweisungen (z. B. #if, #nullableusw.) mit einer übereinstimmenden Art enthält.

CopyAnnotationsTo<T>(T)

Kopiert alle SyntaxAnnotations(sofern vorhanden) aus dieser SyntaxNode-instance und fügt sie auf Grundlage nodevon an eine neue instance an.

DescendantNodes(Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste der untergeordneten Knoten in Präfixdokumentreihenfolge ab.

DescendantNodes(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste der untergeordneten Knoten in Präfixdokumentreihenfolge ab.

DescendantNodesAndSelf(Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste der absteigenden Knoten (einschließlich dieses Knotens) in präfixdokumentfolge ab.

DescendantNodesAndSelf(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste der absteigenden Knoten (einschließlich dieses Knotens) in präfixdokumentfolge ab.

DescendantNodesAndTokens(Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste der untergeordneten Knoten und Token in Präfixdokumentreihenfolge ab.

DescendantNodesAndTokens(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste der untergeordneten Knoten und Token in Präfixdokumentreihenfolge ab.

DescendantNodesAndTokensAndSelf(Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste der untergeordneten Knoten und Token (einschließlich dieses Knotens) in Präfixdokumentreihenfolge ab.

DescendantNodesAndTokensAndSelf(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste der untergeordneten Knoten und Token (einschließlich dieses Knotens) in Präfixdokumentreihenfolge ab.

DescendantTokens(Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste aller Token in der Spanne dieses Knotens ab.

DescendantTokens(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste aller Token in der gesamten Spanne dieses Knotens ab.

DescendantTrivia(Func<SyntaxNode,Boolean>, Boolean)

Rufen Sie eine Liste aller Trivia ab, die den untergeordneten Knoten und Token zugeordnet sind.

DescendantTrivia(TextSpan, Func<SyntaxNode,Boolean>, Boolean)

Rufen Sie eine Liste aller Trivia ab, die den untergeordneten Knoten und Token zugeordnet sind.

EquivalentToCore(SyntaxNode)

Ermitteln Sie, ob dieser Knoten strukturell einem anderen äquivalent ist.

FindNode(TextSpan, Boolean, Boolean)

Sucht den Knoten mit dem kleinsten FullSpan , der enthält span. getInnermostNodeForTie wird verwendet, um das Verhalten im Falle einer Bindung zu bestimmen (d. h. ein Knoten mit derselben Spanne wie sein übergeordneter Knoten). Wenn getInnermostNodeForTie true ist, wird der niedrigste absteigende Knoten zurückgegeben, der den angegebenen spanumfasst. Andernfalls wird der äußerste Knoten zurückgegeben, der den angegebenen spanumfasst.

FindToken(Int32, Boolean)

Sucht ein untergeordnetes Token dieses Knotens, dessen Spanne die angegebene Position enthält.

FindTokenCore(Int32, Boolean)

Sucht ein untergeordnetes Token dieses Knotens, dessen Spanne die angegebene Position enthält.

FindTokenCore(Int32, Func<SyntaxTrivia,Boolean>)

Sucht ein untergeordnetes Token dieses Knotens, dessen Spanne die angegebene Position enthält.

FindTrivia(Int32, Boolean)

Sucht nach einem untergeordneten Trivia dieses Knotens, dessen Spanne die angegebene Position enthält.

FindTrivia(Int32, Func<SyntaxTrivia,Boolean>)

Sucht ein untergeordnetes Trivia dieses Knotens an der angegebenen Position, an der sich die Position innerhalb der Spanne des Knotens befindet.

FindTriviaCore(Int32, Boolean)

Sucht nach einem untergeordneten Trivia dieses Knotens, dessen Spanne die angegebene Position enthält.

FirstAncestorOrSelf<TNode,TArg>(Func<TNode,TArg,Boolean>, TArg, Boolean)

Ruft den ersten Knoten vom Typ TNode ab, der dem Prädikat entspricht.

FirstAncestorOrSelf<TNode>(Func<TNode,Boolean>, Boolean)

Ruft den ersten Knoten vom Typ TNode ab, der dem Prädikat entspricht.

GetAnnotatedNodes(String)

Ruft alle Knoten mit der angegebenen Anmerkungsart ab.

GetAnnotatedNodes(SyntaxAnnotation)

Ruft alle Knoten mit der angegebenen Anmerkung ab.

GetAnnotatedNodesAndTokens(String)

Ruft alle Knoten und Token mit einer Anmerkung der angegebenen Anmerkungsart ab.

GetAnnotatedNodesAndTokens(String[])

Ruft alle Knoten und Token mit einer Anmerkung der angegebenen Anmerkungstypen ab.

GetAnnotatedNodesAndTokens(SyntaxAnnotation)

Ruft alle Knoten und Token mit der angegebenen Anmerkung ab.

GetAnnotatedTokens(String)

Ruft alle Token mit der angegebenen Anmerkungsart ab.

GetAnnotatedTokens(SyntaxAnnotation)

Ruft alle Token mit der angegebenen Anmerkung ab.

GetAnnotatedTrivia(String)

Ruft alle Trivia mit einer Anmerkung der angegebenen Anmerkungsart ab.

GetAnnotatedTrivia(String[])

Ruft alle Trivia mit einer Anmerkung der angegebenen Anmerkungstypen ab.

GetAnnotatedTrivia(SyntaxAnnotation)

Ruft alle Trivia mit der angegebenen Anmerkung ab.

GetAnnotations(IEnumerable<String>)

Ruft alle Anmerkungen mit den angegebenen Anmerkungstypen ab.

GetAnnotations(String)

Ruft alle Anmerkungen mit der angegebenen Anmerkungsart ab.

GetDiagnostics()

Ruft eine Liste aller Diagnose in der Unterstruktur ab, die diesen Knoten als Stamm aufweist. Diese Methode filtert Diagnose nicht basierend auf #pragmas- und Compileroptionen wie nowarn, warnaserror usw.

GetFirstToken(Boolean, Boolean, Boolean, Boolean)

Ruft das erste Token der Struktur ab, die durch diesen Knoten gerootet ist. Überspringt Token mit der Breite von null.

GetLastToken(Boolean, Boolean, Boolean, Boolean)

Ruft das letzte Token der Struktur ab, die durch diesen Knoten verwurzelt ist. Überspringt Token mit der Breite von null.

GetLeadingTrivia()

Die Liste der Kleinigkeiten, die vor diesem Knoten im Quellcode angezeigt werden und an ein Token angefügt sind, das ein Nachkomme dieses Knotens ist.

GetLocation()

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

GetRed<T>(T, Int32)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

GetRedAtZero<T>(T)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

GetReference()

Ruft einen SyntaxReference für diesen Syntaxknoten ab. CommonSyntaxReferences kann verwendet werden, um den Zugriff auf einen Syntaxknoten wiederzuerlangen, ohne die gesamte Struktur und den Quelltext im Arbeitsspeicher zu behalten.

GetText(Encoding, SourceHashAlgorithm)

Ruft den vollständigen Text dieses Knotens als neuen SourceText instance ab.

GetTrailingTrivia()

Die Liste der Kleinigkeiten, die nach diesem Knoten im Quellcode angezeigt werden und an ein Token angefügt sind, das ein Nachkomme dieses Knotens ist.

HasAnnotation(SyntaxAnnotation)

Bestimmt, ob dieser Knoten über die spezifische Anmerkung verfügt.

HasAnnotations(IEnumerable<String>)

Bestimmt, ob dieser Knoten Anmerkungen mit einer der spezifischen Anmerkungstypen aufweist.

HasAnnotations(String)

Bestimmt, ob dieser Knoten Anmerkungen mit der spezifischen Anmerkungsart aufweist.

InsertNodesInListCore(SyntaxNode, IEnumerable<SyntaxNode>, Boolean)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

InsertTokensInListCore(SyntaxToken, IEnumerable<SyntaxToken>, Boolean)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

InsertTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>, Boolean)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

IsEquivalentTo(SyntaxNode)

Bestimmen Sie, ob dieser Knoten strukturell einem anderen äquivalent ist.

IsEquivalentTo(SyntaxNode, Boolean)

Bestimmt, ob zwei Knoten identisch sind, wobei Trivia-Unterschiede außer Acht gelassen werden.

IsEquivalentToCore(SyntaxNode, Boolean)

Bestimmt, ob zwei Knoten identisch sind, wobei Trivia-Unterschiede außer Acht gelassen werden.

IsIncrementallyIdenticalTo(SyntaxNode)

Gibt true zurück, wenn diese beiden Knoten als "inkrementell identisch" gelten. Ein inkrementell identischer Knoten tritt auf, wenn ein SyntaxTree inkrementell mit WithChangedText(SourceText) analysiert wird und der inkrementelle Parser in der Lage ist, den Knoten aus der ursprünglichen Struktur zu übernehmen und ihn vollständig in der neuen Struktur zu verwenden. In diesem Fall ist der ToFullString() jedes Knotens identisch, obwohl er unterschiedliche Eltern haben kann und an unterschiedlichen Positionen in den jeweiligen Strukturen auftreten kann. Wenn zwei Knoten inkrementell identisch sind, sind auch alle untergeordneten Elemente jedes Knotens inkrementell identisch.

IsPartOfStructuredTrivia()

Bestimmt, ob dieser Knoten ein Nachkomme eines strukturierten Trivias ist.

NormalizeWhitespaceCore(String, String, Boolean)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

RemoveNodesCore(IEnumerable<SyntaxNode>, SyntaxRemoveOptions)

Erstellt eine neue Struktur von Knoten, wobei der angegebene Knoten entfernt wurde.

ReplaceCore<TNode>(IEnumerable<TNode>, Func<TNode,TNode,SyntaxNode>, IEnumerable<SyntaxToken>, Func<SyntaxToken,SyntaxToken,SyntaxToken>, IEnumerable<SyntaxTrivia>, Func<SyntaxTrivia,SyntaxTrivia,SyntaxTrivia>)

Erstellt eine neue Struktur von Knoten, in der die angegebenen Knoten, Token oder Trivia ersetzt werden.

ReplaceNodeInListCore(SyntaxNode, IEnumerable<SyntaxNode>)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

ReplaceTokenInListCore(SyntaxToken, IEnumerable<SyntaxToken>)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

ReplaceTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist das sprachunabhängige Äquivalent von CSharpSyntaxNode und VisualBasicSyntaxNode.

SerializeTo(Stream, CancellationToken)
Veraltet.
Veraltet.

Serialisiert den Knoten in den angegebenen stream. Bleibt für stream weitere Schreibvorgänge offen.

ToFullString()

Gibt die vollständige Zeichenfolgendarstellung dieses Knotens einschließlich seiner führenden und nachfolgenden Trivia zurück.

ToString()

Gibt die Zeichenfolgendarstellung dieses Knotens zurück, wobei die führenden und nachfolgenden Trivia nicht eingeschlossen werden.

WriteTo(TextWriter)

Schreibt den vollständigen Text dieses Knotens in den angegebenen TextWriter.

Erweiterungsmethoden

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ruft die erste Anweisung der Struktur ab, die durch diesen Knoten verwurzelt ist.

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ruft die letzte Anweisung der Struktur ab, die durch diesen Knoten verwurzelt ist.

Kind(SyntaxNode)

Gibt für SyntaxNode von -Eigenschaft zurück SyntaxKindRawKind.

TryGetInferredMemberName(SyntaxNode)

Bei einem Initialisiererausdruck wird der Name der anonymen Eigenschaft oder des Tupelelements abgeleitet. Gibt NULL zurück, wenn nicht erfolgreich

ContainsDirective(SyntaxNode, SyntaxKind)

Gibt true zurück, wenn dieser Knoten irgendwelche Anweisungen (z. B. #if, #nullableusw.) mit einer übereinstimmenden Art enthält.

IsKind(SyntaxNode, SyntaxKind)

Bestimmt, ob SyntaxNode es sich um eine angegebene Art handelt.

GetCurrentNode<TNode>(SyntaxNode, TNode)

Ruft den Knoten innerhalb der Unterstruktur ab, der dem ursprünglichen nachverfolgten Knoten entspricht. Verwenden Sie TrackNodes, um die Nachverfolgung von Knoten zu starten.

GetCurrentNodes<TNode>(SyntaxNode, TNode)

Ruft die Knoten innerhalb der Unterstruktur ab, die dem ursprünglichen nachverfolgten Knoten entsprechen. Verwenden Sie TrackNodes, um die Nachverfolgung von Knoten zu starten.

GetCurrentNodes<TNode>(SyntaxNode, IEnumerable<TNode>)

Ruft die Knoten in der Unterstruktur ab, die den ursprünglichen nachverfolgten Knoten entsprechen. Verwenden Sie TrackNodes, um die Nachverfolgung von Knoten zu starten.

TryGetInferredMemberName(SyntaxNode)

Bei einem Initialisiererausdruck wird der Name des anonymen Eigenschafts- oder Tupelelements abgeleitet. Gibt Nothing zurück, wenn nicht erfolgreich

GetDirectives(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ruft die DirectiveTriviaSyntax-Elemente für einen angegebenen SyntaxNode mit optionaler Filterung ab.

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ruft das erste DirectiveTriviaSyntax-Element für einen angegebenen SyntaxNode ab.

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ruft das letzte DirectiveTriviaSyntax-Element für einen angegebenen SyntaxNode ab.

Kind(SyntaxNode)

Gibt für SyntaxNode from-Eigenschaft RawKind zurückSyntaxKind.

ContainsDirective(SyntaxNode, SyntaxKind)

Gibt true zurück, wenn dieser Knoten Direktiven (z. B. #if, #nullableusw.) mit einer übereinstimmenden Art enthält.

IsKind(SyntaxNode, SyntaxKind)

Bestimmt, ob SyntaxNode von einer angegebenen Art ist.

Gilt für: