SyntaxNode Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и 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
- Наследование
-
SyntaxNode
- Производный
- Атрибуты
Свойства
ContainsAnnotations |
Определяет, есть ли у этого узла или подузла, маркера или trivia заметки. |
ContainsDiagnostics |
Определяет, есть ли на этом узле или у любого из его потомков узлов, маркеров или мелочей диагностика. |
ContainsDirectives |
Определяет, есть ли у этого узла какие-либо директивы препроцессора-потомка. |
ContainsSkippedText |
Определяет, есть ли в этом узле пропущенный текст-потомок. |
FullSpan |
Абсолютный диапазон этого узла в символах, включая его начальную и завершающую мелочи. |
HasLeadingTrivia |
Определяет, есть ли у этого узла какие-либо ведущие мелочи. |
HasStructuredTrivia |
Определяет, структурирована ли потомковая мелочь этого узла. |
HasTrailingTrivia |
Определяет, есть ли у этого узла какие-либо конечные мелочи. |
IsMissing |
Определяет, представляет ли узел языковую конструкцию, которая была фактически проанализирована из исходного кода. Отсутствующие узлы создаются анализатором в сценариях ошибок для представления конструкций, которые должны были присутствовать в исходном коде для успешной компиляции, но на самом деле отсутствовали. |
IsStructuredTrivia |
Определяет, представляет ли этот узел структурированную мелочь. |
KindText |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
Language |
Имя языка, синтаксиса для этого узла. |
Parent |
Узел, содержащий этот узел в своей ChildNodes() коллекции. |
ParentTrivia |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
RawKind |
Целое число, представляющее языковой тип данного узла. |
Span |
Абсолютный диапазон этого узла в символах, не включая его начальные и конечные мелочи. |
SpanStart | |
SyntaxTree |
Возвращает SyntaxTree объект , владеющий узлом. |
SyntaxTreeCore |
Возвращает SyntaxTree, которому принадлежит узел. Если узел не принадлежит дереву, он будет создан. |
Методы
Ancestors(Boolean) |
Возвращает список узлов-предков. |
AncestorsAndSelf(Boolean) |
Возвращает список узлов-предков (включая этот узел) |
ChildNodes() |
Возвращает список дочерних узлов в порядке префикса документа. |
ChildNodesAndTokens() |
Список дочерних узлов и токенов этого узла, где каждый элемент является экземпляром SyntaxNodeOrToken. |
ChildThatContainsPosition(Int32) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
ChildTokens() |
Возвращает список прямых дочерних маркеров этого узла. |
Contains(SyntaxNode) |
Определяет, является ли указанный узел потомком этого узла. Возвращает значение true для текущего узла. |
ContainsDirective(Int32) |
Возвращает значение true, если этот узел содержит директивы (например |
CopyAnnotationsTo<T>(T) |
Копирует все объекты SyntaxAnnotation , если таковые есть, из этого экземпляра SyntaxNode и присоединяет их к новому экземпляру на |
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 значением , содержащим |
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() |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
GetRed<T>(T, Int32) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
GetRedAtZero<T>(T) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
GetReference() |
SyntaxReference Возвращает для этого синтаксического узла. CommonSyntaxReferences можно использовать для восстановления доступа к узлу синтаксиса без сохранения всего дерева и исходного текста в памяти. |
GetText(Encoding, SourceHashAlgorithm) |
Возвращает полный текст этого узла в виде нового SourceText экземпляра. |
GetTrailingTrivia() |
Список мелочей, которые отображаются после этого узла в исходном коде и присоединены к токену, который является потомком этого узла. |
HasAnnotation(SyntaxAnnotation) |
Определяет, содержит ли этот узел определенную заметку. |
HasAnnotations(IEnumerable<String>) |
Определяет, содержит ли этот узел какие-либо заметки с определенными типами заметок. |
HasAnnotations(String) |
Определяет, содержит ли этот узел заметки с определенным типом заметок. |
InsertNodesInListCore(SyntaxNode, IEnumerable<SyntaxNode>, Boolean) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
InsertTokensInListCore(SyntaxToken, IEnumerable<SyntaxToken>, Boolean) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
InsertTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>, Boolean) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
IsEquivalentTo(SyntaxNode) |
Определите, является ли этот узел структурно эквивалентным другому. |
IsEquivalentTo(SyntaxNode, Boolean) |
Определяет, совпадают ли два узла, игнорируя различия в пустяках. |
IsEquivalentToCore(SyntaxNode, Boolean) |
Определяет, совпадают ли два узла, игнорируя различия в пустяках. |
IsIncrementallyIdenticalTo(SyntaxNode) |
Возвращает значение true, если эти два узла считаются "инкрементно идентичными". Инкрементно идентичный SyntaxTree узел возникает, когда выполняется добавочный анализ с помощью WithChangedText(SourceText) инкрементного синтаксического анализа может взять узел из исходного дерева и полностью использовать его в новом дереве. В этом случае ToFullString() каждый узел будет одинаковым, хотя они могут иметь разные родительские элементы и могут находиться в разных положениях в соответствующих деревьях. Если два узла инкрементно идентичны, все дочерние элементы каждого узла также будут постепенно идентичны. |
IsPartOfStructuredTrivia() |
Определяет, является ли этот узел потомком структурированной мелочи. |
NormalizeWhitespaceCore(String, String, Boolean) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
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>) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
ReplaceTokenInListCore(SyntaxToken, IEnumerable<SyntaxToken>) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
ReplaceTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>) |
Представляет узел, не относящегося к терминалу, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
SerializeTo(Stream, CancellationToken) |
Устаревшие..
Устаревшие..
Сериализует узел в заданный |
ToFullString() |
Возвращает полное строковое представление этого узла, включая его начальные и конечные мелочи. |
ToString() |
Возвращает строковое представление этого узла, не включая его начальные и конечные значения. |
WriteTo(TextWriter) |
Записывает полный текст этого узла в указанный TextWriter. |
Методы расширения
GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает первую директиву дерева, укореняемого этим узлом. |
GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает последнюю директиву дерева, укореняемого этим узлом. |
Kind(SyntaxNode) |
Возвращает SyntaxKind для SyntaxNode свойства from RawKind . |
TryGetInferredMemberName(SyntaxNode) |
При указании выражения инициализатора выводится имя анонимного свойства или элемента кортежа. Возвращает значение NULL, если не удалось |
ContainsDirective(SyntaxNode, SyntaxKind) |
Возвращает значение true, если этот узел содержит директивы (например |
IsKind(SyntaxNode, SyntaxKind) |
Определяет, имеет ли SyntaxNode указанный тип. |
GetCurrentNode<TNode>(SyntaxNode, TNode) |
Возвращает узел в поддереве, соответствующий исходному отслеживаемого узла. Используйте TrackNodes, чтобы начать отслеживание узлов. |
GetCurrentNodes<TNode>(SyntaxNode, TNode) |
Возвращает узлы в поддереве, соответствующие исходному отслеживаемого узла. Используйте TrackNodes, чтобы начать отслеживание узлов. |
GetCurrentNodes<TNode>(SyntaxNode, IEnumerable<TNode>) |
Возвращает узлы в поддереве, соответствующие исходным отслеживаемых узлам. Используйте TrackNodes, чтобы начать отслеживание узлов. |
TryGetInferredMemberName(SyntaxNode) |
Выражение инициализатора выводит имя анонимного свойства или элемента кортежа. Возвращает значение Nothing в случае неудачи |
GetDirectives(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает элементы DirectiveTriviaSyntax для указанного SyntaxNode с необязательной фильтрацией. |
GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает первый элемент DirectiveTriviaSyntax для указанного syntaxNode. |
GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает последний элемент DirectiveTriviaSyntax для указанного syntaxNode. |
Kind(SyntaxNode) |
Возвращает SyntaxKind значение для SyntaxNode свойства from RawKind . |
ContainsDirective(SyntaxNode, SyntaxKind) |
Возвращает значение true, если этот узел содержит директивы (например |
IsKind(SyntaxNode, SyntaxKind) |
Определяет, имеет ли SyntaxNode тип указанного типа. |