共用方式為


SyntaxNode 類別

定義

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

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
繼承
SyntaxNode
衍生
屬性

屬性

名稱 Description
ContainsAnnotations

決定此節點或任何子節點、標記或瑣事是否有註解。

ContainsDiagnostics

判斷該節點或其後繼節點、標記或瑣事是否帶有任何診斷功能。

ContainsDirectives

判斷該節點是否有後代預處理器指令。

ContainsSkippedText

判斷此節點是否有後代跳過文字。

FullSpan

此節點在字元中的絕對跨度,包括其前置與後置的瑣事。

HasLeadingTrivia

判斷該節點是否有任何領先的瑣事。

HasStructuredTrivia

判斷該節點的後代瑣事是否具結構性。

HasTrailingTrivia

判斷該節點是否有任何尾隨瑣事。

IsMissing

判斷該節點是否代表實際從原始碼解析出來的語言結構。 在錯誤情境下,解析器會產生缺失節點,以表示本應存在於原始碼中以成功編譯,但實際上卻缺失的結構。

IsStructuredTrivia

判斷此節點是否代表結構化瑣事。

KindText

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

Language

這個節點所屬的語法名稱。

Parent

包含該節點於其 ChildNodes() 集合中的節點。

ParentTrivia

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

RawKind

一個整數代表該節點特定語言類型的。

Span

此節點在字元中的絕對跨度,不包括其前置與後面的瑣事。

SpanStart

和在 StartSpan.

SyntaxTree

回傳 SyntaxTree 擁有該節點的權利。

SyntaxTreeCore

回傳擁有該節點的 SyntaxTree。 如果節點不屬於樹狀結構,則會產生一個樹狀節點。

方法

名稱 Description
Ancestors(Boolean)

會依序從最內含語法祖先到最外的祖先節點列表。

AncestorsAndSelf(Boolean)

會依照從該節點到最外祖先的順序,取得祖先節點(包括此節點)的清單。

ChildNodes()

會取得子節點依前綴文件順序的清單。

ChildNodesAndTokens()

該節點的子節點與標記清單,每個元素為 SyntaxNodeOrToken 實例。

ChildThatContainsPosition(Int32)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

ChildTokens()

取得該節點直接子標記的清單。

Contains(SyntaxNode)

判斷指定節點是否為該節點的後代。 目前節點回傳為真。

ContainsDirective(Int32)

若該節點內包含任何指令(例如 #if、 、 #nullable等)且類型相符,則回傳為真。

CopyAnnotationsTo<T>(T)

從此 SyntaxNode 實例複製所有 SyntaxAnnotations(如有的話),並根據 附加到新的實例 node

DescendantNodes(Func<SyntaxNode,Boolean>, Boolean)

會依前綴文件順序取得後代節點清單。

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

會依前綴文件順序取得後代節點清單。

DescendantNodesAndSelf(Func<SyntaxNode,Boolean>, Boolean)

會依前綴文件順序取得後裔節點(包括此節點)的清單。

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

會依前綴文件順序取得後裔節點(包括此節點)的清單。

DescendantNodesAndTokens(Func<SyntaxNode,Boolean>, Boolean)

會依前綴文件順序取得後裔節點與標記清單。

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

取得後繼節點與標記的清單,依前綴文件順序排列。

DescendantNodesAndTokensAndSelf(Func<SyntaxNode,Boolean>, Boolean)

會依前綴文件順序取得後代節點與標記(包括此節點)的清單。

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

取得後繼節點與標記(包括此節點)依前綴文件順序列出。

DescendantTokens(Func<SyntaxNode,Boolean>, Boolean)

會取得該節點區間內所有標記的清單。

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

會取得該節點完整區間所有標記的清單。

DescendantTrivia(Func<SyntaxNode,Boolean>, Boolean)

取得與後代節點和標記相關的所有趣聞清單。

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

取得與後代節點和標記相關的所有趣聞清單。

EquivalentToCore(SyntaxNode)

判斷該節點在結構上是否等同於另一個節點。

FindNode(TextSpan, Boolean, Boolean)

尋找包含 FullSpan的最小span節點。 getInnermostNodeForTie 用來判斷在出現平手(即節點與父節點擁有相同範圍)時的行為。 若 getInnermostNodeForTie 為真,則回傳包含給定 span的最低降序節點。 否則,則回傳包含給定 span的最外層節點。

FindToken(Int32, Boolean)

找到該節點的後代標記,其跨度包含所提供位置。

FindTokenCore(Int32, Boolean)

找到該節點的後代標記,其跨度包含所提供位置。

FindTokenCore(Int32, Func<SyntaxTrivia,Boolean>)

找到該節點的後代標記,其跨度包含所提供位置。

FindTrivia(Int32, Boolean)

找到該節點的後代瑣事,其張成包含所提供位置。

FindTrivia(Int32, Func<SyntaxTrivia,Boolean>)

在指定位置找到該節點的後代瑣事,該位置位於節點的張幅內。

FindTriviaCore(Int32, Boolean)

找到該節點的後代瑣事,其張成包含所提供位置。

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

取得第一個類型為 TNode 且與謂詞相符的節點。 祖先依節點至最外祖先的順序搜尋。

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

取得第一個類型為 TNode 且與謂詞相符的節點。 祖先依節點至最外祖先的順序搜尋。

GetAnnotatedNodes(String)

取得所有指定註解類型的節點。

GetAnnotatedNodes(SyntaxAnnotation)

取得所有指定註解的節點。

GetAnnotatedNodesAndTokens(String)

取得所有帶有指定註解類型的註解的節點與標記。

GetAnnotatedNodesAndTokens(String[])

取得所有節點與標記,並附有指定註解類型的註解。

GetAnnotatedNodesAndTokens(SyntaxAnnotation)

取得所有帶有指定註解的節點與標記。

GetAnnotatedTokens(String)

取得所有標註類型的標記。

GetAnnotatedTokens(SyntaxAnnotation)

取得所有標註指定標記。

GetAnnotatedTrivia(String)

提供所有帶有指定註解類型的瑣事。

GetAnnotatedTrivia(String[])

取得所有標註類型中指定註解的趣聞。

GetAnnotatedTrivia(SyntaxAnnotation)

所有花絮都用指定的註解。

GetAnnotations(IEnumerable<String>)

取得所有標註,並附上指定的註解類型。

GetAnnotations(String)

取得所有指定註解類型的註解。

GetDiagnostics()

會取得子樹中所有以該節點為根的診斷清單。 此方法不會根據 #pragmas 和編譯器選項(如 nowarn、warnaserror 等)來篩選診斷結果。

GetFirstToken(Boolean, Boolean, Boolean, Boolean)

取得由此節點根化的樹的第一個標記。 跳過零寬度的標記。

GetLastToken(Boolean, Boolean, Boolean, Boolean)

取得由該節點根植的樹的最後一個標記。 跳過零寬度的標記。

GetLeadingTrivia()

在原始碼中出現在這個節點前面,並附加於該節點後代的標記上的瑣事清單。

GetLocation()

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

GetRed<T>(T, Int32)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

GetRedAtZero<T>(T)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

GetReference()

為這個語法節點取得 a SyntaxReference 。 CommonSyntaxReference 可用於重新存取語法節點,而無需將整棵樹與原始文字存於記憶體中。

GetText(Encoding, SourceHashAlgorithm)

以新 SourceText 實例取得該節點的完整文字。

GetTrailingTrivia()

在原始碼中出現在這個節點之後,並附加到該節點後代的標記上的瑣事清單。

HasAnnotation(SyntaxAnnotation)

判斷該節點是否擁有特定的註解。

HasAnnotations(IEnumerable<String>)

判斷該節點是否有針對特定註解類型的註解。

HasAnnotations(String)

判斷該節點是否有特定類型的註解。

InsertNodesInListCore(SyntaxNode, IEnumerable<SyntaxNode>, Boolean)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

InsertTokensInListCore(SyntaxToken, IEnumerable<SyntaxToken>, Boolean)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

InsertTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>, Boolean)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

IsEquivalentTo(SyntaxNode, Boolean)

判斷兩個節點是否相同,忽略瑣碎差異。

IsEquivalentTo(SyntaxNode)

判斷該節點在結構上是否等同於另一個節點。

IsEquivalentToCore(SyntaxNode, Boolean)

判斷兩個節點是否相同,忽略瑣碎差異。

IsIncrementallyIdenticalTo(SyntaxNode)

若這兩個節點被視為「增量相同」,則回傳為真。 當 a SyntaxTree 被 使用增 WithChangedText(SourceText) 量解析,且增量解析器能夠從原始樹中取出該節點,並在新樹中完整使用時,就會產生增量相同的節點。 在這種情況下,每個節點的 會 ToFullString() 是相同的,儘管它們可能有不同的父節點,且可能出現在各自樹中的不同位置。 如果兩個節點在增量上相同,則每個節點的所有子節點也會在增量上相同。

IsPartOfStructuredTrivia()

判斷該節點是否為結構化瑣事的後代。

NormalizeWhitespaceCore(String, String, Boolean)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

RemoveNodesCore(IEnumerable<SyntaxNode>, SyntaxRemoveOptions)

建立一棵新的節點樹,移除指定的節點。

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

建立一棵新的節點樹,並替換指定的節點、標記或瑣事。

ReplaceNodeInListCore(SyntaxNode, IEnumerable<SyntaxNode>)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

ReplaceTokenInListCore(SyntaxToken, IEnumerable<SyntaxToken>)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

ReplaceTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>)

代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。

SerializeTo(Stream, CancellationToken)
已淘汰.
已淘汰.

將節點序列化為給定 stream的 。 這也留 stream 有空間讓後續寫作。

ToFullString()

回傳該節點的完整字串表示,包括其前置與後置瑣事。

ToString()

回傳該節點的字串表示,不包含其前置與後尾瑣事。

WriteTo(TextWriter)

將該節點的全文寫入指定的 TextWriter節點。

擴充方法

名稱 Description
ContainsDirective(SyntaxNode, SyntaxKind)

若該節點內包含任何指令(例如 #if、 、 #nullable等)且類型相符,則回傳為真。

ContainsDirective(SyntaxNode, SyntaxKind)

若該節點內包含任何指令(例如 #if、 、 #nullable等)且類型相符,則回傳為真。

GetCurrentNode<TNode>(SyntaxNode, TNode)

取得對應原始追蹤節點的子樹節點。 使用 TrackNodes 來開始追蹤節點。

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

取得對應原始追蹤節點的子樹節點。 使用 TrackNodes 來開始追蹤節點。

GetCurrentNodes<TNode>(SyntaxNode, TNode)

取得對應原始追蹤節點子樹中的節點。 使用 TrackNodes 來開始追蹤節點。

GetDirectives(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

取得指定 SyntaxNode 的指令 TriviaSyntax 項目,並可選擇性過濾。

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

取得由此節點根植的樹的第一個指令。

GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

取得指定 SyntaxNode 的第一個指令TriviaSyntax項目。

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

取得由此節點根植的樹的最後一個指令。

GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>)

取得指定 SyntaxNode 的最後一個 DirectiveTriviaSyntax 項目。

IsKind(SyntaxNode, SyntaxKind)

判斷是否 SyntaxNode 屬於特定類型。

IsKind(SyntaxNode, SyntaxKind)

判斷是否 SyntaxNode 屬於特定類型。

Kind(SyntaxNode)

財產SyntaxKind退貨。SyntaxNodeRawKind

Kind(SyntaxNode)

財產SyntaxKind退貨。SyntaxNodeRawKind

TryGetInferredMemberName(SyntaxNode)

給定初始化子表達式,推斷出匿名屬性或元組元素的名稱。 若未成功則回傳 null

TryGetInferredMemberName(SyntaxNode)

給定初始化子表達式,推斷出匿名屬性或元組元素的名稱。 若未成功則一無退貨

適用於