Все перечисленные ниже члены являются унаследованными от базовых классов `CSharpSyntaxNode` или других предков. Чтобы уточнить: - **RawKind**, **Parent**, **Span**, **FullSpan**, **SyntaxTree** и **SpanStart** унаследованы от базового класса `SyntaxNode`. - Методы **Accept()**, **GetLeadingTrivia()**, **GetTrailingTrivia()**, **ToString()**, **NormalizeWhitespace()** также наследуются от базовых классов, таких как `SyntaxNode` и `CSharpSyntaxNode`. ### Поля и свойства - **RawKind**: Указывает числовое значение конкретного типа узла (не используется напрямую). - **Parent**: Родительский синтаксический узел. - **Span**: Возвращает текстовый диапазон (`TextSpan`), охватывающий этот узел. - **SpanStart**: Начальная позиция в исходном коде. - **FullSpan**: Возвращает полный текстовый диапазон, включая пробелы и комментарии. - **SyntaxTree**: Возвращает синтаксическое дерево, которому принадлежит узел. ### Основные методы - **Accept(SyntaxVisitor)**: Принимает посетителя для этого узла синтаксического дерева. - **GetLeadingTrivia()**: Возвращает список ведущих триграмм (информация до узла, включая комментарии и пробелы). - **GetTrailingTrivia()**: Возвращает список следующих триграмм (информация после узла). - **ToString()**: Преобразует узел в строку, представляющую соответствующий код. - **NormalizeWhitespace()**: Возвращает новый узел, где все пробелы нормализованы. ### Пример ```csharp TypeSyntax typeSyntax = SyntaxFactory.ParseTypeName("List<int>"); // Получаем строковое представление типа Console.WriteLine(typeSyntax.ToString()); // "List<int>" // Получаем ведущие пробелы и триграммы var leadingTrivia = typeSyntax.GetLeadingTrivia(); ``` Этот класс используется для представления синтаксиса типов в дереве синтаксического анализа, что полезно при анализе и генерации кода.