Freigeben über


SyntaxNode Klasse

Definition

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung 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

Name Beschreibung
ContainsAnnotations

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

ContainsDiagnostics

Bestimmt, ob dieser Knoten oder ein untergeordneter Knoten, Token oder Trivia über eine Diagnose verfügen.

ContainsDirectives

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

ContainsSkippedText

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

FullSpan

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

HasLeadingTrivia

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

HasStructuredTrivia

Bestimmt, ob ein untergeordnetes Dreieck dieses Knotens strukturiert ist.

HasTrailingTrivia

Bestimmt, ob dieser Knoten eine nachfolgende Trivia aufweist.

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 eine strukturierte Trivia darstellt.

KindText

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

Language

Der Name der Sprache, von der dieser Knoten syntax ist.

Parent

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

ParentTrivia

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

RawKind

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

Span

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

SpanStart

Identisch mit dem Zugriff auf StartSpan.

SyntaxTree

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

SyntaxTreeCore

Gibt SyntaxTree zurück, die den Knoten besitzt. Wenn der Knoten nicht zu einer Struktur gehört, wird eine generiert.

Methoden

Name Beschreibung
Ancestors(Boolean)

Ruft eine Liste der Vorgängerknoten in der Reihenfolge von der innersten mit syntaktischen Vorgänger bis zur äußersten Seite ab.

AncestorsAndSelf(Boolean)

Ruft eine Liste der Vorgängerknoten (einschließlich dieses Knotens) in der Reihenfolge von diesem Knoten bis zum äußersten Vorgänger ab.

ChildNodes()

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

ChildNodesAndTokens()

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

ChildThatContainsPosition(Int32)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

ChildTokens()

Ruft eine Liste der direkten untergeordneten Token dieses Knotens ab.

Contains(SyntaxNode)

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

ContainsDirective(Int32)

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

CopyAnnotationsTo<T>(T)

Kopiert alle SyntaxAnnotations (falls vorhanden) aus dieser SyntaxNode-Instanz und fügt sie auf der Grundlage nodeeiner neuen Instanz 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 untergeordneten Knoten (einschließlich dieses Knotens) in Präfixdokumentreihenfolge ab.

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

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

DescendantNodesAndTokens(Func<SyntaxNode,Boolean>, Boolean)

Ruft eine Liste der untergeordneten Knoten und Token in der 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)

Dient zum Abrufen einer Liste aller Trivia, die den untergeordneten Knoten und Token zugeordnet sind.

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

Dient zum Abrufen einer Liste aller Trivia, die den untergeordneten Knoten und Token zugeordnet sind.

EquivalentToCore(SyntaxNode)

Ermitteln Sie, ob dieser Knoten strukturell einer anderen entspricht.

FindNode(TextSpan, Boolean, Boolean)

Sucht den Knoten mit der kleinsten FullSpan , die enthält span. getInnermostNodeForTie wird verwendet, um das Verhalten bei einer Bindung (d. h. einem Knoten mit derselben Spanne wie das übergeordnete Element) zu bestimmen. Ist getInnermostNodeForTie dies der Fall, wird der niedrigste absteigende Knoten zurückgegeben, der den angegebenen spanknoten umfasst. Andernfalls wird der äußerste Knoten zurückgegeben, der den angegebenen spanKnoten umfasst.

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 ein untergeordnetes Dreieck dieses Knotens, dessen Spanne die angegebene Position enthält.

FindTrivia(Int32, Func<SyntaxTrivia,Boolean>)

Sucht eine untergeordnete Trivia dieses Knotens an der angegebenen Position, wobei sich die Position innerhalb der Spanne des Knotens befindet.

FindTriviaCore(Int32, Boolean)

Sucht ein untergeordnetes Dreieck 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. Vorgänger werden von diesem Knoten bis zum äußersten Vorgänger durchsucht.

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

Ruft den ersten Knoten vom Typ TNode ab, der dem Prädikat entspricht. Vorgänger werden von diesem Knoten bis zum äußersten Vorgänger durchsucht.

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 Anmerkungsarten 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 Diagnosen in der Unterstruktur ab, die diesen Knoten als Stamm aufweist. Diese Methode filtert die Diagnose nicht basierend auf #pragmas- und Compileroptionen wie Nowarn, Warnaserror usw.

GetFirstToken(Boolean, Boolean, Boolean, Boolean)

Ruft das erste Token der Struktur ab, die von diesem Knoten stammet. Überspringt Token mit Nullbreite.

GetLastToken(Boolean, Boolean, Boolean, Boolean)

Ruft das letzte Token der Struktur ab, die von diesem Knoten verwurzelt ist. Überspringt Token mit Nullbreite.

GetLeadingTrivia()

Die Liste der Trivias, die vor diesem Knoten im Quellcode angezeigt wird und an ein Token angefügt sind, das ein untergeordnetes Element dieses Knotens ist.

GetLocation()

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

GetRed<T>(T, Int32)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

GetRedAtZero<T>(T)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

GetReference()

Ruft einen SyntaxReference für diesen Syntaxknoten ab. CommonSyntaxReferences können verwendet werden, um wieder auf einen Syntaxknoten zuzugreifen, ohne die gesamte Struktur und den Quelltext im Arbeitsspeicher beizubehalten.

GetText(Encoding, SourceHashAlgorithm)

Ruft den vollständigen Text dieses Knotens als neue SourceText Instanz ab.

GetTrailingTrivia()

Die Liste der Trivias, die nach diesem Knoten im Quellcode angezeigt wird und an ein Token angefügt sind, das ein untergeordnetes Element 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 hat.

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 die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

InsertTokensInListCore(SyntaxToken, IEnumerable<SyntaxToken>, Boolean)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

InsertTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>, Boolean)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

IsEquivalentTo(SyntaxNode, Boolean)

Bestimmt, ob zwei Knoten identisch sind, wobei Die Unterschiede zwischen den Unterschieden ignoriert werden.

IsEquivalentTo(SyntaxNode)

Bestimmen Sie, ob dieser Knoten strukturell einer anderen entspricht.

IsEquivalentToCore(SyntaxNode, Boolean)

Bestimmt, ob zwei Knoten identisch sind, wobei Die Unterschiede zwischen den Unterschieden ignoriert werden.

IsIncrementallyIdenticalTo(SyntaxNode)

Gibt "true" zurück, wenn diese beiden Knoten als "inkrementell identisch" betrachtet werden. Ein inkrementell identischer Knoten tritt auf, wenn ein SyntaxTree Inkrementell analysiert WithChangedText(SourceText) wird und der inkrementelle Parser den Knoten aus der ursprünglichen Struktur übernehmen und in seiner Gesamtheit in der neuen Struktur verwenden kann. In diesem Fall ist der ToFullString() knoten gleich, obwohl sie unterschiedliche Eltern haben könnten und an unterschiedlichen Positionen in ihren jeweiligen Bäumen auftreten können. Wenn zwei Knoten inkrementell identisch sind, sind alle untergeordneten Elemente jedes Knotens ebenfalls inkrementell identisch.

IsPartOfStructuredTrivia()

Bestimmt, ob dieser Knoten ein untergeordnetes Element einer strukturierten Trivia ist.

NormalizeWhitespaceCore(String, String, Boolean)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung 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 mit den angegebenen Knoten, Token oder Trivia ersetzt.

ReplaceNodeInListCore(SyntaxNode, IEnumerable<SyntaxNode>)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

ReplaceTokenInListCore(SyntaxToken, IEnumerable<SyntaxToken>)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

ReplaceTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>)

Stellt einen Nicht-Terminalknoten in der Syntaxstruktur dar. Dies ist die sprache agnostische Entsprechung von CSharpSyntaxNode und VisualBasicSyntaxNode.

SerializeTo(Stream, CancellationToken)
Veraltet.
Veraltet.

Serialisiert den Knoten auf den angegebenen stream. Lässt das stream Geöffnete für weitere Schreibvorgänge frei.

ToFullString()

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

ToString()

Gibt die Zeichenfolgendarstellung dieses Knotens zurück, nicht einschließlich der führenden und nachfolgenden Trivia.

WriteTo(TextWriter)

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

Erweiterungsmethoden

Name Beschreibung
ContainsDirective(SyntaxNode, SyntaxKind)

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

ContainsDirective(SyntaxNode, SyntaxKind)

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

GetCurrentNode<TNode>(SyntaxNode, TNode)

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

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

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

GetCurrentNodes<TNode>(SyntaxNode, TNode)

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

GetDirectives(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

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

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ruft die erste Direktive der Struktur ab, die von diesem Knoten verwurzelt ist.

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

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

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ruft die letzte Direktive der Struktur ab, die von diesem Knoten verwurzelt ist.

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

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

IsKind(SyntaxNode, SyntaxKind)

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

IsKind(SyntaxNode, SyntaxKind)

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

Kind(SyntaxNode)

Gibt SyntaxKind für SyntaxNode die Eigenschaft zurück RawKind .

Kind(SyntaxNode)

Gibt SyntaxKind für SyntaxNode die Eigenschaft zurück RawKind .

TryGetInferredMemberName(SyntaxNode)

Bei einem Initialisierungsausdruck wird der Name der anonymen Eigenschaft oder des Tupelelements ableiten. Gibt NULL zurück, wenn dies nicht erfolgreich ist.

TryGetInferredMemberName(SyntaxNode)

Bei einem Initialisierungsausdruck wird der Name der anonymen Eigenschaft oder des Tupelelements ableiten. Gibt Nothing zurück, wenn dies nicht erfolgreich ist.

Gilt für: