Condividi tramite


SyntaxNode Classe

Definizione

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e 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
Ereditarietà
SyntaxNode
Derivato
Attributi

Proprietà

Nome Descrizione
ContainsAnnotations

Determina se questo nodo o qualsiasi nodo secondario, token o curiosità include annotazioni.

ContainsDiagnostics

Determina se questo nodo o uno dei nodi discendenti, i token o i trivia hanno una diagnostica su di essi.

ContainsDirectives

Determina se questo nodo dispone di direttive del preprocessore discendenti.

ContainsSkippedText

Determina se il nodo contiene testo discendente ignorato.

FullSpan

Intervallo assoluto di questo nodo in caratteri, incluso il suo carattere iniziale e finale.

HasLeadingTrivia

Determina se questo nodo include elementi di limitazione iniziali.

HasStructuredTrivia

Determina se è strutturato un trivia discendente di questo nodo.

HasTrailingTrivia

Determina se questo nodo ha un'eventuale curiosità finale.

IsMissing

Determina se il nodo rappresenta un costrutto di linguaggio effettivamente analizzato dal codice sorgente. I nodi mancanti vengono generati dal parser negli scenari di errore per rappresentare costrutti che dovrebbero essere presenti nel codice sorgente per la compilazione correttamente ma in realtà mancanti.

IsStructuredTrivia

Determina se questo nodo rappresenta un'operazione strutturata.

KindText

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

Language

Nome del linguaggio di cui questo nodo è sintassi.

Parent

Nodo che contiene questo nodo nella raccolta ChildNodes() .

ParentTrivia

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

RawKind

Intero che rappresenta il tipo specifico di linguaggio di questo nodo.

Span

Intervallo assoluto di questo nodo in caratteri, non incluso il carattere iniziale e finale.

SpanStart

Uguale all'accesso Start a su Span.

SyntaxTree

Restituisce SyntaxTree il proprietario del nodo.

SyntaxTreeCore

Restituisce SyntaxTree proprietario del nodo. Se il nodo non appartiene a un albero, ne verrà generato uno.

Metodi

Nome Descrizione
Ancestors(Boolean)

Ottiene un elenco di nodi predecessori in ordine dal predecessore più interno contenente il predecessore sintattico al più esterno.

AncestorsAndSelf(Boolean)

Ottiene un elenco di nodi predecessori (incluso questo nodo) in ordine da questo nodo al predecessore più esterno.

ChildNodes()

Ottiene un elenco dei nodi figlio nell'ordine dei documenti con prefisso.

ChildNodesAndTokens()

Elenco di nodi figlio e token di questo nodo, in cui ogni elemento è un'istanza SyntaxNodeOrToken.

ChildThatContainsPosition(Int32)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

ChildTokens()

Ottiene un elenco dei token figlio diretti di questo nodo.

Contains(SyntaxNode)

Determina se il nodo specificato è un discendente di questo nodo. Restituisce true per il nodo corrente.

ContainsDirective(Int32)

Restituisce true se il nodo contiene direttive (ad esempio #if, e #nullablecosì via) all'interno di esso con un tipo corrispondente.

CopyAnnotationsTo<T>(T)

Copia tutte le sintassiAnnotations, se presenti, da questa istanza di SyntaxNode e le associa a una nuova istanza basata su node.

DescendantNodes(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti nell'ordine del documento di prefisso.

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

Ottiene un elenco di nodi discendenti nell'ordine del documento di prefisso.

DescendantNodesAndSelf(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti (incluso questo nodo) nell'ordine dei documenti con prefisso.

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

Ottiene un elenco di nodi discendenti (incluso questo nodo) nell'ordine dei documenti con prefisso.

DescendantNodesAndTokens(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti e token nell'ordine del documento di prefisso.

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

Ottiene un elenco dei nodi discendenti e dei token nell'ordine del documento di prefisso.

DescendantNodesAndTokensAndSelf(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di nodi discendenti e token (incluso questo nodo) nell'ordine dei documenti con prefisso.

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

Ottiene un elenco dei nodi discendenti e dei token (incluso questo nodo) nell'ordine del documento di prefisso.

DescendantTokens(Func<SyntaxNode,Boolean>, Boolean)

Ottiene un elenco di tutti i token nell'intervallo di questo nodo.

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

Ottiene un elenco di tutti i token nell'intervallo completo di questo nodo.

DescendantTrivia(Func<SyntaxNode,Boolean>, Boolean)

Ottenere un elenco di tutti i trivia associati ai nodi discendenti e ai token.

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

Ottenere un elenco di tutti i trivia associati ai nodi discendenti e ai token.

EquivalentToCore(SyntaxNode)

Determinare se questo nodo è strutturalmente equivalente a un altro.

FindNode(TextSpan, Boolean, Boolean)

Trova il nodo con il più FullSpan piccolo che contiene span. getInnermostNodeForTie viene usato per determinare il comportamento in caso di un legame (ad esempio, un nodo con lo stesso intervallo del relativo elemento padre). Se getInnermostNodeForTie è true, restituisce il nodo decrescente più basso che include l'oggetto specificato span. In caso contrario, restituisce il nodo più esterno che include l'oggetto specificato span.

FindToken(Int32, Boolean)

Trova un token discendente di questo nodo il cui intervallo include la posizione specificata.

FindTokenCore(Int32, Boolean)

Trova un token discendente di questo nodo il cui intervallo include la posizione specificata.

FindTokenCore(Int32, Func<SyntaxTrivia,Boolean>)

Trova un token discendente di questo nodo il cui intervallo include la posizione specificata.

FindTrivia(Int32, Boolean)

Trova un trivia discendente di questo nodo il cui intervallo include la posizione fornita.

FindTrivia(Int32, Func<SyntaxTrivia,Boolean>)

Trova un trivia discendente di questo nodo nella posizione specificata, dove la posizione si trova all'interno dell'intervallo del nodo.

FindTriviaCore(Int32, Boolean)

Trova un trivia discendente di questo nodo il cui intervallo include la posizione fornita.

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

Ottiene il primo nodo di tipo TNode che corrisponde al predicato. I predecessori vengono cercati in ordine da questo nodo al predecessore più esterno.

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

Ottiene il primo nodo di tipo TNode che corrisponde al predicato. I predecessori vengono cercati in ordine da questo nodo al predecessore più esterno.

GetAnnotatedNodes(String)

Ottiene tutti i nodi con il tipo di annotazione specificato.

GetAnnotatedNodes(SyntaxAnnotation)

Ottiene tutti i nodi con l'annotazione specificata.

GetAnnotatedNodesAndTokens(String)

Ottiene tutti i nodi e i token con un'annotazione del tipo di annotazione specificato.

GetAnnotatedNodesAndTokens(String[])

Ottiene tutti i nodi e i token con un'annotazione dei tipi di annotazione specificati.

GetAnnotatedNodesAndTokens(SyntaxAnnotation)

Ottiene tutti i nodi e i token con l'annotazione specificata.

GetAnnotatedTokens(String)

Ottiene tutti i token con il tipo di annotazione specificato.

GetAnnotatedTokens(SyntaxAnnotation)

Ottiene tutti i token con l'annotazione specificata.

GetAnnotatedTrivia(String)

Ottiene tutti i commenti con un'annotazione del tipo di annotazione specificato.

GetAnnotatedTrivia(String[])

Ottiene tutti i tipi di annotazione con un'annotazione dei tipi di annotazione specificati.

GetAnnotatedTrivia(SyntaxAnnotation)

Ottiene tutti i trivia con l'annotazione specificata.

GetAnnotations(IEnumerable<String>)

Ottiene tutte le annotazioni con i tipi di annotazione specificati.

GetAnnotations(String)

Ottiene tutte le annotazioni con il tipo di annotazione specificato.

GetDiagnostics()

Ottiene un elenco di tutte le diagnostica nell'albero secondario con questo nodo come radice. Questo metodo non filtra la diagnostica in base alle opzioni di #pragmas e del compilatore come nowarn, warnaserror e così via.

GetFirstToken(Boolean, Boolean, Boolean, Boolean)

Ottiene il primo token dell'albero rooted da questo nodo. Ignora i token di larghezza zero.

GetLastToken(Boolean, Boolean, Boolean, Boolean)

Ottiene l'ultimo token dell'albero rooted da questo nodo. Ignora i token di larghezza zero.

GetLeadingTrivia()

L'elenco di elementi di descrizione che viene visualizzato prima di questo nodo nel codice sorgente e viene associato a un token discendente di questo nodo.

GetLocation()

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

GetRed<T>(T, Int32)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

GetRedAtZero<T>(T)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

GetReference()

Ottiene un oggetto SyntaxReference per questo nodo della sintassi. CommonSyntaxReferences può essere usato per ottenere nuovamente l'accesso a un nodo della sintassi senza mantenere in memoria l'intero albero e il testo di origine.

GetText(Encoding, SourceHashAlgorithm)

Ottiene il testo completo di questo nodo come nuova SourceText istanza.

GetTrailingTrivia()

Elenco di elementi semplici che vengono visualizzati dopo questo nodo nel codice sorgente e associati a un token discendente di questo nodo.

HasAnnotation(SyntaxAnnotation)

Determina se questo nodo ha l'annotazione specifica.

HasAnnotations(IEnumerable<String>)

Determina se questo nodo include annotazioni con uno dei tipi di annotazione specifici.

HasAnnotations(String)

Determina se questo nodo include annotazioni con il tipo di annotazione specifico.

InsertNodesInListCore(SyntaxNode, IEnumerable<SyntaxNode>, Boolean)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

InsertTokensInListCore(SyntaxToken, IEnumerable<SyntaxToken>, Boolean)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

InsertTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>, Boolean)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

IsEquivalentTo(SyntaxNode, Boolean)

Determina se due nodi sono uguali, ignorando le differenze di tipo trivia.

IsEquivalentTo(SyntaxNode)

Determinare se questo nodo è strutturalmente equivalente a un altro.

IsEquivalentToCore(SyntaxNode, Boolean)

Determina se due nodi sono uguali, ignorando le differenze di tipo trivia.

IsIncrementallyIdenticalTo(SyntaxNode)

Restituisce true se questi due nodi sono considerati "incrementalmente identici". Un nodo identico in modo incrementale si verifica quando un SyntaxTree oggetto viene analizzato in modo incrementale usando WithChangedText(SourceText) e il parser incrementale è in grado di acquisire il nodo dall'albero originale e usarlo nel suo intero albero nel nuovo albero. In questo caso, l'oggetto ToFullString() di ogni nodo sarà lo stesso, anche se potrebbe avere elementi padre diversi e può verificarsi in posizioni diverse nei rispettivi alberi. Se due nodi sono identici in modo incrementale, anche tutti gli elementi figlio di ogni nodo saranno identici in modo incrementale.

IsPartOfStructuredTrivia()

Determina se questo nodo è un discendente di un oggetto trivia strutturato.

NormalizeWhitespaceCore(String, String, Boolean)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

RemoveNodesCore(IEnumerable<SyntaxNode>, SyntaxRemoveOptions)

Crea un nuovo albero di nodi con il nodo specificato rimosso.

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

Crea un nuovo albero di nodi con i nodi, i token o i trivia specificati sostituiti.

ReplaceNodeInListCore(SyntaxNode, IEnumerable<SyntaxNode>)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

ReplaceTokenInListCore(SyntaxToken, IEnumerable<SyntaxToken>)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

ReplaceTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>)

Rappresenta un nodo non terminale nell'albero della sintassi. Si tratta dell'equivalente indipendente dal linguaggio di CSharpSyntaxNode e VisualBasicSyntaxNode.

SerializeTo(Stream, CancellationToken)
Obsoleti.
Obsoleti.

Serializza il nodo nell'oggetto specificato stream. Lascia aperto per stream ulteriori scritture.

ToFullString()

Restituisce la rappresentazione di stringa completa di questo nodo, inclusi i relativi elementi iniziali e finali.

ToString()

Restituisce la rappresentazione di stringa di questo nodo, senza includere il relativo carattere iniziale e finale.

WriteTo(TextWriter)

Scrive il testo completo di questo nodo nell'oggetto specificato TextWriter.

Metodi di estensione

Nome Descrizione
ContainsDirective(SyntaxNode, SyntaxKind)

Restituisce true se il nodo contiene direttive (ad esempio #if, e #nullablecosì via) all'interno di esso con un tipo corrispondente.

ContainsDirective(SyntaxNode, SyntaxKind)

Restituisce true se il nodo contiene direttive (ad esempio #if, e #nullablecosì via) all'interno di esso con un tipo corrispondente.

GetCurrentNode<TNode>(SyntaxNode, TNode)

Ottiene il nodo all'interno del sottoalbero corrispondente al nodo rilevato originale. Usare TrackNodes per avviare il rilevamento dei nodi.

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

Ottiene i nodi all'interno del sottoalbero corrispondente ai nodi rilevati originali. Usare TrackNodes per avviare il rilevamento dei nodi.

GetCurrentNodes<TNode>(SyntaxNode, TNode)

Ottiene i nodi all'interno del sottoalbero corrispondente al nodo rilevato originale. Usare TrackNodes per avviare il rilevamento dei nodi.

GetDirectives(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene gli elementi DirectiveTriviaSyntax per un oggetto SyntaxNode specificato con filtro facoltativo.

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene la prima direttiva dell'albero rooted da questo nodo.

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene il primo elemento DirectiveTriviaSyntax per un oggetto SyntaxNode specificato.

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene l'ultima direttiva dell'albero rooted da questo nodo.

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

Ottiene l'ultimo elemento DirectiveTriviaSyntax per un oggetto SyntaxNode specificato.

IsKind(SyntaxNode, SyntaxKind)

Determina se SyntaxNode è di un tipo specificato.

IsKind(SyntaxNode, SyntaxKind)

Determina se SyntaxNode è di un tipo specificato.

Kind(SyntaxNode)

Restituisce SyntaxKind per SyntaxNode dalla RawKind proprietà .

Kind(SyntaxNode)

Restituisce SyntaxKind per SyntaxNode dalla RawKind proprietà .

TryGetInferredMemberName(SyntaxNode)

Dato un'espressione di inizializzatore dedurre il nome della proprietà anonima o dell'elemento tupla. Restituisce Null se non è riuscito

TryGetInferredMemberName(SyntaxNode)

Dato un'espressione di inizializzatore dedurre il nome della proprietà anonima o dell'elemento tupla. Restituisce Nothing se ha esito negativo

Si applica a