Поделиться через


SemanticModel Класс

Определение

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

public ref class SemanticModel abstract
public abstract class SemanticModel
type SemanticModel = class
Public MustInherit Class SemanticModel
Наследование
SemanticModel

Комментарии

Экземпляр SemanticModel кэширует локальные символы и семантические сведения. Таким образом, гораздо эффективнее использовать один экземпляр SemanticModel при выполнении нескольких вопросов о дереве синтаксиса, так как сведения из первого вопроса могут использоваться повторно. Это также означает, что хранение экземпляра SemanticModel в течение длительного времени может удерживать значительный объем памяти от сбора мусора.

Если ответ является именованным символом, который доступен путем обхода из корня таблицы символов (т. е. из assemblySymbol компиляции), этот символ будет возвращен (т. е. возвращаемое значение будет равно ссылке, доступному из корня таблицы символов). Символы, представляющие сущности без имен (например, array-of-int), могут демонстрировать равенство ссылок. Однако некоторые именованные символы (например, локальные переменные) недоступны из корневого каталога. Эти символы видны как ответы на семантические вопросы. При использовании одного и того же объекта SemanticModel ответы демонстрируют равенство ссылок.

Конструкторы

SemanticModel()

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

Свойства

Compilation

Компиляция, из которую была получена эта модель.

CompilationCore

Компиляция, из которую была получена эта модель.

IgnoresAccessibility

Возвращает значение true, если это модель SemanticModel, которая игнорирует правила специальных возможностей при ответе на семантические вопросы.

IsSpeculativeSemanticModel

Возвращает значение true, если это спекулятивная семантическая модель, созданная с помощью любого из методов TryGetSpeculativeSemanticModel.

Language

Возвращает исходный язык ("C#" или "Visual Basic").

OriginalPositionForSpeculation

Если это спекулятивная семантическая модель, возвращает исходную позицию, в которой была создана спекулятивная модель. В противном случае возвращается 0.

ParentModel

Если это спекулятивная семантическая модель, возвращается ее родительская семантическая модель. В противном случае возвращает значение NULL.

ParentModelCore

Если это спекулятивная семантическая модель, возвращается ее родительская семантическая модель. В противном случае возвращает значение NULL.

RootCore

Корень этой семантической модели

SyntaxTree

Синтаксический дерево, из который была получена эта модель.

SyntaxTreeCore

Синтаксический дерево, из который была получена эта модель.

Методы

AnalyzeControlFlowCore(SyntaxNode)

Анализ потока управления в части тела метода.

AnalyzeControlFlowCore(SyntaxNode, SyntaxNode)

Анализ потока управления в части тела метода.

AnalyzeDataFlowCore(SyntaxNode)

Анализ потока данных в части тела метода.

AnalyzeDataFlowCore(SyntaxNode, SyntaxNode)

Анализ потока данных в части тела метода.

GetAliasInfoCore(SyntaxNode, CancellationToken)

Если "nameSyntax" разрешается в псевдоним, возвращается значение IAliasSymbol, соответствующее A. В противном случае возвращается значение NULL.

GetConstantValue(SyntaxNode, CancellationToken)

Если указанный узел имеет значение константы, будет возвращено необязательное значение с параметром HasValue, равным true, а значением Value — константа. Если узел не имеет значения константы, будет возвращен параметр Optional с параметром HasValue, равным false.

GetConstantValueCore(SyntaxNode, CancellationToken)

Если указанный узел имеет значение константы, будет возвращено необязательное значение с параметром HasValue, равным true, а значением Value — константа. Если узел не имеет значения константы, будет возвращен параметр Optional с параметром HasValue, равным false.

GetDeclarationDiagnostics(Nullable<TextSpan>, CancellationToken)

Получение всех ошибок объявления в дереве синтаксиса, связанном с этим объектом. Не получает ошибок, связанных с неправильным синтаксисом, компиляцией тел методов или инициализаторами.

GetDeclaredSymbolCore(SyntaxNode, CancellationToken)

Возвращает символ, связанный с узлом синтаксиса объявления.

GetDeclaredSymbolsCore(SyntaxNode, CancellationToken)

Возвращает символы, связанные с узлом синтаксиса объявления. В отличие от Microsoft.CodeAnalysis.SemanticModel.GetDeclaredSymbolForNode(Microsoft.CodeAnalysis.SyntaxNode,System.Threading.CancellationToken), этот метод возвращает все символы, объявленные заданным синтаксический узел объявления. В частности:

GetDiagnostics(Nullable<TextSpan>, CancellationToken)

Получение всех ошибок в дереве синтаксиса, связанном с этим объектом. Включает ошибки, связанные с компилированием тел методов или инициализаторов, в дополнение к ошибкам, возвращаемым GetDeclarationDiagnostics.

GetEnclosingSymbol(Int32, CancellationToken)

При указании позиции в SyntaxTree для этой semanticModel возвращается самый внутренний символ, в который рассматривается позиция.

GetEnclosingSymbolCore(Int32, CancellationToken)

При указании позиции в SyntaxTree для этой semanticModel возвращается самый внутренний символ, в который рассматривается позиция.

GetImportScopes(Int32, CancellationToken)

При указании позиции в SyntaxTree для этой SemanticModel возвращается IImportScopeзначение s в этой точке. Области упорядочены от ближайшего к переданного к position самому дальним. СмIImportScope. более подробное описание сведений, доступных для каждого область.

GetMemberGroupCore(SyntaxNode, CancellationToken)

При получении сведений для символа, который разрешается в группу методов или группу свойств, из которой затем выбирается метод; выбранный метод или свойство присутствует в symbol; все методы в группе, с которыми была выполнена консультация, помещаются в это свойство.

GetMethodBodyDiagnostics(Nullable<TextSpan>, CancellationToken)

Получение всех ошибок текста метода и инициализатора в дереве синтаксиса, связанном с этим объектом. Не получает ошибок, связанных с неправильным синтаксисом или объявлениями.

GetNullableContext(Int32)

Возвращает объект в NullableContext позиции в файле.

GetOperation(SyntaxNode, CancellationToken)

Возвращает операцию, соответствующую узлу синтаксиса выражения или инструкции.

GetOperationCore(SyntaxNode, CancellationToken)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetPreprocessingSymbolInfo(SyntaxNode)

Если nameSyntax является узлом синтаксиса имени идентификатора, возвращает соответствующий PreprocessingSymbolInfo ему узел.

GetPreprocessingSymbolInfoCore(SyntaxNode)

Если nameSyntax является узлом синтаксиса имени идентификатора, возвращает соответствующий PreprocessingSymbolInfo ему узел.

GetSpeculativeAliasInfoCore(Int32, SyntaxNode, SpeculativeBindingOption)

Привязывает имя в контексте указанного расположения и проверяет, разрешается ли оно в псевдоним. Если это так, верните соответствующий ему aliasSymbol. В противном случае возвращается значение NULL.

GetSpeculativeSymbolInfoCore(Int32, SyntaxNode, SpeculativeBindingOption)

Привязывает узел в контексте указанного расположения и получает семантические сведения, такие как тип, символы и диагностика. Этот метод используется для получения семантических сведений о выражении, которое фактически не отображается в исходном коде.

GetSpeculativeTypeInfoCore(Int32, SyntaxNode, SpeculativeBindingOption)

Привязывает узел в контексте указанного расположения и получает семантические сведения, такие как тип, символы и диагностика. Этот метод используется для получения семантических сведений о выражении, которое фактически не отображается в исходном коде.

GetSymbolInfoCore(SyntaxNode, CancellationToken)

Возвращает сведения о символах узла синтаксиса.

GetSyntaxDiagnostics(Nullable<TextSpan>, CancellationToken)

Получение всех синтаксических ошибок в дереве синтаксиса, связанном с этим объектом. Не получает ошибок, связанных с объявлениями или компиляцией тел методов или инициализаторов.

GetTopmostNodeForDiagnosticAnalysis(ISymbol, SyntaxNode)

Принимает символ и синтаксис для одной из его объявляемых ссылок на синтаксис и возвращает самый верхний узел синтаксиса, используемый синтаксический анализатор.

GetTypeInfoCore(SyntaxNode, CancellationToken)

Возвращает сведения о типе узла синтаксиса.

IsAccessible(Int32, ISymbol)

Определяет, доступен ли символ из указанного расположения.

IsAccessibleCore(Int32, ISymbol)

Определяет, доступен ли символ из указанного расположения.

IsEventUsableAsField(Int32, IEventSymbol)

События, подобные полям, можно использовать в качестве полей типов, которые могут обращаться к закрытым членам объявляющего типа события.

IsEventUsableAsFieldCore(Int32, IEventSymbol)

События, подобные полям, можно использовать в качестве полей типов, которые могут обращаться к закрытым членам объявляющего типа события.

LookupBaseMembers(Int32, String)

Возвращает доступные элементы базового типа в контексте указанного расположения. Сродни вызову LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean) с контейнером, равным непосредственно базовому типу типа, в котором position встречается. Однако правила специальных возможностей отличаются: будут видны защищенные элементы базового типа.

Рассмотрим следующий пример.

public class Base { protected void M() { } }

производный открытый класс: Base { void Test(Base b) { b.M(); // Error - не удается получить доступ к защищенному элементу. Базы. M(); } }

Защищенные члены экземпляра другого типа доступны только в том случае, если экземпляр известен как экземпляр "this" (как указано в ключевое слово "base").

LookupBaseMembersCore(Int32, String)

Резервная реализация LookupBaseMembers(Int32, String).

LookupLabels(Int32, String)

Возвращает доступные символы именованных меток в контексте указанного расположения и необязательного контейнера. Возвращаются только члены, доступные и видимые из заданного расположения.

LookupLabelsCore(Int32, String)

Резервная реализация LookupLabels(Int32, String).

LookupNamespacesAndTypes(Int32, INamespaceOrTypeSymbol, String)

Возвращает доступные именованные пространства имен и символы типа в контексте указанного расположения и необязательного контейнера. Возвращаются только члены, доступные и видимые из заданного расположения.

LookupNamespacesAndTypesCore(Int32, INamespaceOrTypeSymbol, String)

Резервная реализация LookupNamespacesAndTypes(Int32, INamespaceOrTypeSymbol, String).

LookupStaticMembers(Int32, INamespaceOrTypeSymbol, String)

Возвращает доступные именованные символы статических элементов в контексте указанного расположения и необязательного контейнера. Возвращаются только члены, доступные и видимые из заданного расположения.

Рассматриваются неунижаемые методы расширения, так как они являются статическими.

LookupStaticMembersCore(Int32, INamespaceOrTypeSymbol, String)

Резервная реализация LookupStaticMembers(Int32, INamespaceOrTypeSymbol, String).

LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean)

Возвращает доступные именованные символы в контексте указанного расположения и необязательного контейнера. Возвращаются только символы, доступные и видимые из заданного расположения.

LookupSymbolsCore(Int32, INamespaceOrTypeSymbol, String, Boolean)

Резервная реализация LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean).

Методы расширения

AnalyzeControlFlow(SemanticModel, StatementSyntax)

Анализ потока управления в части тела метода.

AnalyzeControlFlow(SemanticModel, StatementSyntax, StatementSyntax)

Анализ потока управления в части тела метода.

AnalyzeDataFlow(SemanticModel, ConstructorInitializerSyntax)

Анализ потока данных в .ConstructorInitializerSyntax

AnalyzeDataFlow(SemanticModel, ExpressionSyntax)

Анализ потока данных в .ExpressionSyntax

AnalyzeDataFlow(SemanticModel, PrimaryConstructorBaseTypeSyntax)

Анализ потока данных в инициализаторе ArgumentList .

AnalyzeDataFlow(SemanticModel, StatementSyntax)

Анализ потока данных в части тела метода.

AnalyzeDataFlow(SemanticModel, StatementSyntax, StatementSyntax)

Анализ потока данных в части тела метода.

ClassifyConversion(SemanticModel, ExpressionSyntax, ITypeSymbol, Boolean)

Определяет, какой тип преобразования, если таковой имеется, будет использоваться при преобразовании данного выражения в заданный тип. Если параметр isExplicitInSource имеет значение true, то создается преобразование, которое будет использоваться, если преобразование было выполнено для выражения приведения.

ClassifyConversion(SemanticModel, Int32, ExpressionSyntax, ITypeSymbol, Boolean)

Определяет, какой тип преобразования, если таковой имеется, будет использоваться при преобразовании данного выражения в заданный тип. Если параметр isExplicitInSource имеет значение true, то создается преобразование, которое будет использоваться, если преобразование было выполнено для выражения приведения.

GetAliasInfo(SemanticModel, IdentifierNameSyntax, CancellationToken)

Если nameSyntax разрешается в имя псевдонима, возвращается значение AliasSymbol, соответствующее A. В противном случае возвращается значение NULL.

GetAwaitExpressionInfo(SemanticModel, AwaitExpressionSyntax)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetCollectionInitializerSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Возвращает символы метода Add, если таковые есть, соответствуют заданному синтаксису выражения в Initializer.

GetConstantValue(SemanticModel, ExpressionSyntax, CancellationToken)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetConversion(SemanticModel, SyntaxNode, CancellationToken)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetDeclaredSymbol(SemanticModel, AccessorDeclarationSyntax, CancellationToken)

При наличии узла синтаксиса, объявляющего метод доступа к свойству или члену, получите соответствующий символ.

GetDeclaredSymbol(SemanticModel, AnonymousObjectCreationExpressionSyntax, CancellationToken)

Учитывая синтаксический узел выражения создания анонимного объекта, получите символ анонимного типа объекта.

GetDeclaredSymbol(SemanticModel, AnonymousObjectMemberDeclaratorSyntax, CancellationToken)

При использовании узла синтаксиса инициализатора создания анонимного объекта получите символ свойства анонимного объекта.

GetDeclaredSymbol(SemanticModel, ArgumentSyntax, CancellationToken)

С учетом синтаксического узла аргумента кортежа получите символ элемента кортежа.

GetDeclaredSymbol(SemanticModel, BaseMethodDeclarationSyntax, CancellationToken)

При наличии синтаксиса объявления базового метода получите соответствующий символ метода.

GetDeclaredSymbol(SemanticModel, BasePropertyDeclarationSyntax, CancellationToken)

При наличии узла синтаксиса, объявляющего свойство, индексатор или событие, получите соответствующий объявленный символ.

GetDeclaredSymbol(SemanticModel, BaseTypeDeclarationSyntax, CancellationToken)

При объявлении типа получите соответствующий символ типа.

GetDeclaredSymbol(SemanticModel, CatchDeclarationSyntax, CancellationToken)

При объявлении catch получите символ для переменной исключения.

GetDeclaredSymbol(SemanticModel, CompilationUnitSyntax, CancellationToken)

Учитывая синтаксис единицы компиляции, получите соответствующий символ точки входа Simple Program.

GetDeclaredSymbol(SemanticModel, DelegateDeclarationSyntax, CancellationToken)

При объявлении делегата получите соответствующий символ типа.

GetDeclaredSymbol(SemanticModel, EnumMemberDeclarationSyntax, CancellationToken)

При объявлении члена перечисления получите соответствующий символ поля.

GetDeclaredSymbol(SemanticModel, EventDeclarationSyntax, CancellationToken)

При наличии узла синтаксиса, объявляющего (настраиваемое) событие, получите соответствующий символ события.

GetDeclaredSymbol(SemanticModel, ExternAliasDirectiveSyntax, CancellationToken)

При объявлении псевдонима extern получите соответствующий символ для введенного псевдонима.

GetDeclaredSymbol(SemanticModel, FileScopedNamespaceDeclarationSyntax, CancellationToken)

При наличии узла синтаксиса объявления пространства имен получите соответствующий символ пространства имен для сборки объявления.

GetDeclaredSymbol(SemanticModel, ForEachStatementSyntax, CancellationToken)

При использовании оператора foreach получите символ для переменной итерации.

GetDeclaredSymbol(SemanticModel, IndexerDeclarationSyntax, CancellationToken)

При наличии узла синтаксиса, объявляющего индексатор, получите соответствующий объявленный символ.

GetDeclaredSymbol(SemanticModel, JoinIntoClauseSyntax, CancellationToken)

Получение переменной диапазона запроса, объявленной в предложении join into.

GetDeclaredSymbol(SemanticModel, LabeledStatementSyntax, CancellationToken)

При наличии синтаксиса оператора с меткой получите соответствующий символ метки.

GetDeclaredSymbol(SemanticModel, LocalFunctionStatementSyntax, CancellationToken)

При наличии синтаксиса объявления локальной функции получите соответствующий символ.

GetDeclaredSymbol(SemanticModel, MemberDeclarationSyntax, CancellationToken)

При наличии синтаксиса объявления элемента получите соответствующий символ.

GetDeclaredSymbol(SemanticModel, NamespaceDeclarationSyntax, CancellationToken)

При наличии узла синтаксиса объявления пространства имен получите соответствующий символ пространства имен для сборки объявления.

GetDeclaredSymbol(SemanticModel, ParameterSyntax, CancellationToken)

При наличии узла синтаксиса объявления параметра получите соответствующий символ.

GetDeclaredSymbol(SemanticModel, PropertyDeclarationSyntax, CancellationToken)

При наличии узла синтаксиса, объявляющего свойство, получите соответствующий объявленный символ.

GetDeclaredSymbol(SemanticModel, QueryClauseSyntax, CancellationToken)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetDeclaredSymbol(SemanticModel, QueryContinuationSyntax, CancellationToken)

Возвращает переменную диапазона запроса, объявленную в предложении продолжения запроса.

GetDeclaredSymbol(SemanticModel, SingleVariableDesignationSyntax, CancellationToken)

При наличии синтаксиса декларатора переменных получите соответствующий символ.

GetDeclaredSymbol(SemanticModel, SwitchLabelSyntax, CancellationToken)

При наличии синтаксиса метки переключателя получите соответствующий символ метки.

GetDeclaredSymbol(SemanticModel, TupleElementSyntax, CancellationToken)

Учитывая синтаксис элемента кортежа, получите соответствующий символ.

GetDeclaredSymbol(SemanticModel, TupleExpressionSyntax, CancellationToken)

Учитывая синтаксический узел выражения кортежа, получите символ типа кортежа.

GetDeclaredSymbol(SemanticModel, TypeParameterSyntax, CancellationToken)

При объявлении параметра типа (поле или метод) получите соответствующий символ.

GetDeclaredSymbol(SemanticModel, UsingDirectiveSyntax, CancellationToken)

При объявлении using получите соответствующий символ для введенного псевдонима using.

GetDeclaredSymbol(SemanticModel, VariableDeclaratorSyntax, CancellationToken)

При наличии синтаксиса декларатора переменных получите соответствующий символ.

GetDeconstructionInfo(SemanticModel, AssignmentExpressionSyntax)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetDeconstructionInfo(SemanticModel, ForEachVariableStatementSyntax)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetForEachStatementInfo(SemanticModel, CommonForEachStatementSyntax)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetForEachStatementInfo(SemanticModel, ForEachStatementSyntax)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetIndexerGroup(SemanticModel, ExpressionSyntax, CancellationToken)

Возвращает список доступных не скрытых индексаторов, которые можно вызвать с помощью заданного выражения в качестве получателя.

GetMemberGroup(SemanticModel, AttributeSyntax, CancellationToken)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetMemberGroup(SemanticModel, ConstructorInitializerSyntax, CancellationToken)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetMemberGroup(SemanticModel, ExpressionSyntax, CancellationToken)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetQueryClauseInfo(SemanticModel, QueryClauseSyntax, CancellationToken)

Возвращает семантические сведения, связанные с предложением запроса.

GetSpeculativeAliasInfo(SemanticModel, Int32, IdentifierNameSyntax, SpeculativeBindingOption)

Привязывает имя в контексте указанного расположения и проверяет, разрешается ли оно в псевдоним. Если это так, верните соответствующий ему aliasSymbol. В противном случае возвращается значение NULL.

GetSpeculativeConversion(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetSpeculativeSymbolInfo(SemanticModel, Int32, AttributeSyntax)

Привяжите атрибут в контексте указанного расположения и получите семантические сведения, такие как тип, символы и диагностика. Этот метод используется для получения семантических сведений об атрибуте, который фактически не отображается в исходном коде.

GetSpeculativeSymbolInfo(SemanticModel, Int32, ConstructorInitializerSyntax)

Привяжите инициализатор конструктора в контексте указанного расположения и получите семантические сведения, такие как тип, символы и диагностика. Этот метод используется для получения семантических сведений об инициализаторе конструктора, который фактически не отображался в исходном коде.

ПРИМЕЧАНИЕ. Это будет работать только в тех местах, где уже есть инициализатор конструктора.

GetSpeculativeSymbolInfo(SemanticModel, Int32, CrefSyntax, SpeculativeBindingOption)

Привязывает выражение CrefSyntax в контексте указанного расположения и получает сведения о символах. Этот метод используется для получения сведений о символах выражения, которое фактически не отображается в исходном коде.

GetSpeculativeSymbolInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Привязывает выражение к контексту указанного расположения и получает сведения о символах. Этот метод используется для получения сведений о символах выражения, которое фактически не отображается в исходном коде.

GetSpeculativeSymbolInfo(SemanticModel, Int32, PrimaryConstructorBaseTypeSyntax)

Привяжите инициализатор конструктора в контексте указанного расположения и получите семантические сведения о символах. Этот метод используется для получения семантических сведений об инициализаторе конструктора, который фактически не отображался в исходном коде.

ПРИМЕЧАНИЕ. Это будет работать только в тех местах, где уже есть инициализатор конструктора. PrimaryConstructorBaseTypeSyntax.

GetSpeculativeTypeInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Привязывает выражение к контексту указанного расположения и получает сведения о типе. Этот метод используется для получения сведений о типе выражения, которое фактически не отображается в исходном коде.

GetSymbolInfo(SemanticModel, AttributeSyntax, CancellationToken)

Возвращает символы , если таковые есть, заданный синтаксис атрибута, привязанный к в программе.

GetSymbolInfo(SemanticModel, ConstructorInitializerSyntax, CancellationToken)

Возвращает символы , если таковые есть, синтаксис заданного инициализатора конструктора, к которому привязан в программе.

GetSymbolInfo(SemanticModel, CrefSyntax, CancellationToken)

Возвращает семантические сведения, связанные с ссылкой на комментарий документации.

GetSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Возвращает символы , если таковые есть, заданный синтаксис выражения, к которому привязан в программе.

Этот метод никогда не возвращает aliasSymbol. Вместо этого будет возвращено значение, на который ссылается псевдоним. Чтобы получить сведения о псевдонимах, вызовите Метод GetAliasInfo.

При привязке имени типа C в выражении "new C(...)" возвращается фактический конструктор, привязанный к (или весь конструктор, если разрешение перегрузки не выполнено). Это происходит до тех пор, пока C однозначно привязывается к одному типу с конструктором. Если C неоднозначно привязывается к нескольким типам или C привязывается к статическому классу, возвращаются типы.

GetSymbolInfo(SemanticModel, OrderingSyntax, CancellationToken)

Получает семантические сведения для предложения упорядочения в предложении запроса orderby.

GetSymbolInfo(SemanticModel, PrimaryConstructorBaseTypeSyntax, CancellationToken)

Возвращает символы , если таковые есть, синтаксис заданного инициализатора конструктора, к которому привязан в программе.

GetSymbolInfo(SemanticModel, SelectOrGroupClauseSyntax, CancellationToken)

Возвращает семантические сведения, связанные с предложением select или group.

GetTypeInfo(SemanticModel, AttributeSyntax, CancellationToken)

Возвращает сведения о типе атрибута.

GetTypeInfo(SemanticModel, ConstructorInitializerSyntax, CancellationToken)

Возвращает сведения о типе инициализатора конструктора.

GetTypeInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Возвращает сведения о типе выражения.

GetTypeInfo(SemanticModel, SelectOrGroupClauseSyntax, CancellationToken)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, ArrowExpressionClauseSyntax, SemanticModel)

Получение объекта SemanticModel, связанного с телом выражения, которое не отображалось в этом исходном коде. Это можно использовать для получения подробных семантических сведений о подчастиях тела выражения, которые не отображаются в исходном коде.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, AttributeSyntax, SemanticModel)

Получите объект SemanticModel, связанный с атрибутом, который не отображался в этом исходном коде. Это можно использовать для получения подробных семантических сведений о подчастиях атрибута, которые не отображаются в исходном коде.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, ConstructorInitializerSyntax, SemanticModel)

Получите объект SemanticModel, связанный с инициализатором конструктора, который не появился в этом исходном коде. Его можно использовать для получения подробных семантических сведений о вложенных частях инициализатора конструктора, которые не отображаются в исходном коде.

ПРИМЕЧАНИЕ. Это будет работать только в тех местах, где уже есть инициализатор конструктора.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, CrefSyntax, SemanticModel)

Получите объект SemanticModel, связанный с узлом синтаксиса cref, который не отображался в этом исходном коде. Это можно использовать для получения подробных семантических сведений о вложенных частях синтаксиса cref, которые не отображались в исходном коде.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, EqualsValueClauseSyntax, SemanticModel)

Получение объекта SemanticModel, связанного с инициализатором, который не отображался в этом исходном коде. Это можно использовать для получения подробных семантических сведений о подчастиях инициализатора поля или значении параметра по умолчанию, которые не отображались в исходном коде.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, PrimaryConstructorBaseTypeSyntax, SemanticModel)

Получите объект SemanticModel, связанный с инициализатором конструктора, который не появился в этом исходном коде. Его можно использовать для получения подробных семантических сведений о вложенных частях инициализатора конструктора, которые не отображаются в исходном коде.

ПРИМЕЧАНИЕ. Это будет работать только в тех местах, где уже есть инициализатор конструктора.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, StatementSyntax, SemanticModel)

Получите объект SemanticModel, связанный с оператором, который не отображался в этом исходном коде. Это можно использовать для получения подробных семантических сведений о подчастиях инструкции, которые не отображаются в исходном коде.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, TypeSyntax, SemanticModel, SpeculativeBindingOption)

Получение объекта SemanticModel, связанного с узлом синтаксиса типа, который не отображался в этом исходном коде. Это можно использовать для получения подробных семантических сведений о подчастиях синтаксиса типа, которые не отображаются в исходном коде.

TryGetSpeculativeSemanticModelForMethodBody(SemanticModel, Int32, AccessorDeclarationSyntax, SemanticModel)

Получите объект SemanticModel, связанный с телом метода, который не отображался в этом исходном коде. Данный position объект должен находиться в существующем теле метода узла корневого синтаксиса для этой SemanticModel. Локальные значения и метки, объявленные в этом существующем теле метода, не считаются область тела спекулированного метода.

TryGetSpeculativeSemanticModelForMethodBody(SemanticModel, Int32, BaseMethodDeclarationSyntax, SemanticModel)

Получите объект SemanticModel, связанный с телом метода, который не отображался в этом исходном коде. Данный position объект должен находиться в существующем теле метода узла корневого синтаксиса для этой SemanticModel. Локальные значения и метки, объявленные в этом существующем теле метода, не считаются область тела спекулированного метода.

AnalyzeControlFlow(SemanticModel, SyntaxNode)

Анализ потока управления в части тела метода.

AnalyzeControlFlow(SemanticModel, SyntaxNode, SyntaxNode)

Анализ потока управления в части тела метода.

AnalyzeDataFlow(SemanticModel, SyntaxNode)

Анализ потока данных в части тела метода. Примечание (для C#): КонструкторInitializerSyntax и PrimaryConstructorBaseTypeSyntax обрабатываются этим API как обычные инструкции.

AnalyzeDataFlow(SemanticModel, SyntaxNode, SyntaxNode)

Анализ потока данных в части тела метода.

GetAliasInfo(SemanticModel, SyntaxNode, CancellationToken)

Если "nameSyntax" разрешается в псевдоним, возвращается значение IAliasSymbol, соответствующее A. В противном случае возвращается значение NULL.

GetDeclaredSymbol(SemanticModel, SyntaxNode, CancellationToken)

Возвращает символ, связанный с узлом синтаксиса объявления.

GetMemberGroup(SemanticModel, SyntaxNode, CancellationToken)

Возвращает список символов метода или индексированных свойств для узла синтаксиса.

GetSpeculativeAliasInfo(SemanticModel, Int32, SyntaxNode, SpeculativeBindingOption)

Привязывает имя в контексте указанного расположения и проверяет, разрешается ли оно в псевдоним. Если это так, верните соответствующий ему aliasSymbol. В противном случае возвращается значение NULL.

GetSpeculativeSymbolInfo(SemanticModel, Int32, SyntaxNode, SpeculativeBindingOption)

Привязывает узел в контексте указанного расположения и получает семантические сведения, такие как тип, символы и диагностика. Этот метод используется для получения семантических сведений о выражении, которое фактически не отображается в исходном коде.

GetSpeculativeTypeInfo(SemanticModel, Int32, SyntaxNode, SpeculativeBindingOption)

Привязывает узел в контексте указанного расположения и получает семантические сведения, такие как тип, символы и диагностика. Этот метод используется для получения семантических сведений о выражении, которое фактически не отображается в исходном коде.

GetSymbolInfo(SemanticModel, SyntaxNode, CancellationToken)

Возвращает сведения о символах узла синтаксиса.

GetTypeInfo(SemanticModel, SyntaxNode, CancellationToken)

Возвращает сведения о типе узла синтаксиса.

AnalyzeControlFlow(SemanticModel, StatementSyntax)

Анализ потока управления в части тела метода.

AnalyzeControlFlow(SemanticModel, StatementSyntax, StatementSyntax)

Анализ потока управления в части тела метода.

AnalyzeDataFlow(SemanticModel, ExpressionSyntax)

Анализ потока данных в выражении.

AnalyzeDataFlow(SemanticModel, StatementSyntax)

Анализ потока данных в инструкции.

AnalyzeDataFlow(SemanticModel, StatementSyntax, StatementSyntax)

Анализ потока данных в наборе непрерывных инструкций.

ClassifyConversion(SemanticModel, ExpressionSyntax, ITypeSymbol)

Определяет тип преобразования между синтаксисом выражения и заданным типом.

ClassifyConversion(SemanticModel, Int32, ExpressionSyntax, ITypeSymbol)

Определяет тип преобразования между синтаксисом выражения и заданным типом.

GetAggregateClauseSymbolInfo(SemanticModel, AggregateClauseSyntax, CancellationToken)

Возвращает сведения о методах, связанных с AggregateClauseSyntax.

GetAliasInfo(SemanticModel, IdentifierNameSyntax, CancellationToken)

Если "nameSyntax" разрешается в псевдоним, возвращается значение AliasSymbol, соответствующее A. В противном случае возвращается значение NULL.

GetAwaitExpressionInfo(SemanticModel, AwaitExpressionSyntax, CancellationToken)

Возвращает соответствующий объект AwaitExpressionInfo, содержащий семантические сведения для указанного объекта AwaitExpressionSyntax.

GetCollectionInitializerSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Возвращает символы метода Add, если таковые есть, соответствуют заданному синтаксису выражения в Initializer.

GetCollectionRangeVariableSymbolInfo(SemanticModel, CollectionRangeVariableSyntax, CancellationToken)

Возвращает сведения о методах, связанных с CollectionRangeVariableSyntax.

GetConversion(SemanticModel, SyntaxNode, CancellationToken)

Возвращает соответствующий объект TypeInfo, содержащий семантические сведения для указанного объекта ExpressionSyntax.

GetDeclaredSymbol(SemanticModel, AccessorStatementSyntax, CancellationToken)

Возвращает соответствующий methodSymbol для указанного AccessorStatementSyntax.

GetDeclaredSymbol(SemanticModel, AggregationRangeVariableSyntax, CancellationToken)

Возвращает соответствующий объект RangeVariableSymbol для указанного объекта AggregationRangeVariableSyntax.

GetDeclaredSymbol(SemanticModel, AnonymousObjectCreationExpressionSyntax, CancellationToken)

Возвращает соответствующий namedTypeSymbol для указанного Объекта AnonymousObjectCreationExpressionSyntax.

GetDeclaredSymbol(SemanticModel, CatchStatementSyntax, CancellationToken)

Возвращает соответствующий localSymbol для указанного CatchStatementSyntax.

GetDeclaredSymbol(SemanticModel, CollectionRangeVariableSyntax, CancellationToken)

Возвращает соответствующий объект RangeVariableSymbol для указанного объекта CollectionRangeVariableSyntax.

GetDeclaredSymbol(SemanticModel, DeclareStatementSyntax, CancellationToken)

Возвращает соответствующий символ для указанного Объекта DeclareStatementSyntax.

GetDeclaredSymbol(SemanticModel, DelegateStatementSyntax, CancellationToken)

Возвращает соответствующий namedTypeSymbol для указанного DelegateStatementSyntax.

GetDeclaredSymbol(SemanticModel, EnumBlockSyntax, CancellationToken)

Возвращает соответствующий объект NamedTypeSymbol для указанного enumBlockSyntax.

GetDeclaredSymbol(SemanticModel, EnumMemberDeclarationSyntax, CancellationToken)

Возвращает соответствующий объект FieldSymbol для указанного объекта EnumMemberDeclarationSyntax.

GetDeclaredSymbol(SemanticModel, EnumStatementSyntax, CancellationToken)

Возвращает соответствующий namedTypeSymbol для указанного enumStatementSyntax.

GetDeclaredSymbol(SemanticModel, EventBlockSyntax, CancellationToken)

Возвращает соответствующий объект EventSymbol для указанного Объекта EventBlockSyntax.

GetDeclaredSymbol(SemanticModel, EventStatementSyntax, CancellationToken)

Возвращает соответствующий объект EventSymbol для указанного объекта EventStatementSyntax.

GetDeclaredSymbol(SemanticModel, ExpressionRangeVariableSyntax, CancellationToken)

Возвращает соответствующий объект RangeVariableSymbol для указанного объекта ExpressionRangeVariableSyntax.

GetDeclaredSymbol(SemanticModel, FieldInitializerSyntax, CancellationToken)

Возвращает соответствующий объект PropertySymbol для указанного Объекта FieldInitializerSyntax.

GetDeclaredSymbol(SemanticModel, LabelStatementSyntax, CancellationToken)

Возвращает соответствующий тип LabelSymbol для указанного объекта LabelStatementSyntax.

GetDeclaredSymbol(SemanticModel, MethodBlockBaseSyntax, CancellationToken)

Возвращает соответствующий methodSymbol для указанного MethodBlockBaseSyntax.

GetDeclaredSymbol(SemanticModel, MethodStatementSyntax, CancellationToken)

Возвращает соответствующий methodSymbol для указанного MethodStatementSyntax.

GetDeclaredSymbol(SemanticModel, ModifiedIdentifierSyntax, CancellationToken)

Возвращает соответствующий символ для указанного идентификатора.

GetDeclaredSymbol(SemanticModel, NamespaceBlockSyntax, CancellationToken)

Возвращает соответствующий объект NamespaceSymbol для указанного namespaceBlockSyntax.

GetDeclaredSymbol(SemanticModel, NamespaceStatementSyntax, CancellationToken)

Возвращает соответствующий объект NamespaceSymbol для указанного namespaceStatementSyntax.

GetDeclaredSymbol(SemanticModel, OperatorStatementSyntax, CancellationToken)

Возвращает соответствующий methodSymbol для указанного OperatorStatementSyntax.

GetDeclaredSymbol(SemanticModel, ParameterSyntax, CancellationToken)

Возвращает соответствующий параметр ParameterSymbol для указанного ParameterSyntax.

GetDeclaredSymbol(SemanticModel, PropertyBlockSyntax, CancellationToken)

Возвращает соответствующий объект PropertySymbol для указанного Объекта PropertyBlockSyntax.

GetDeclaredSymbol(SemanticModel, PropertyStatementSyntax, CancellationToken)

Возвращает соответствующий объект PropertySymbol для указанного Объекта PropertyStatementSyntax.

GetDeclaredSymbol(SemanticModel, SimpleImportsClauseSyntax, CancellationToken)

Возвращает соответствующий AliasSymbol для указанного AliasImportsClauseSyntax.

GetDeclaredSymbol(SemanticModel, SubNewStatementSyntax, CancellationToken)

Возвращает соответствующий methodSymbol для указанного SubNewStatementSyntax.

GetDeclaredSymbol(SemanticModel, TupleElementSyntax, CancellationToken)

Возвращает соответствующий символ для указанного элемента кортежа.

GetDeclaredSymbol(SemanticModel, TypeBlockSyntax, CancellationToken)

Возвращает соответствующий объект NamedTypeSymbol для указанного объекта TypeBlockSyntax.

GetDeclaredSymbol(SemanticModel, TypeParameterSyntax, CancellationToken)

Возвращает соответствующий символ TypeParameterSymbol для указанного объекта TypeParameterSyntax.

GetDeclaredSymbol(SemanticModel, TypeStatementSyntax, CancellationToken)

Возвращает соответствующий объект NamedTypeSymbol для указанного объекта TypeStatementSyntax.

GetForEachStatementInfo(SemanticModel, ForEachBlockSyntax)

Возвращает соответствующий объект ForEachStatementInfo, содержащий семантические сведения для указанного объекта ForBlockSyntax.

GetForEachStatementInfo(SemanticModel, ForEachStatementSyntax)

Возвращает соответствующий объект ForEachStatementInfo, содержащий семантические сведения для указанного объекта ForEachStatementSyntax.

GetMemberGroup(SemanticModel, AttributeSyntax, CancellationToken)

Возвращает соответствующий ImmutableArray символов для указанного AttributeSyntax.

GetMemberGroup(SemanticModel, ExpressionSyntax, CancellationToken)

Возвращает соответствующий объект ImmutableArray символов для указанного объекта ExpressionSyntax.

GetPreprocessingSymbolInfo(SemanticModel, IdentifierNameSyntax)

Если данный узел находится в директиве предварительной обработки, получает для него сведения о символе предварительной обработки.

GetSpeculativeAliasInfo(SemanticModel, Int32, IdentifierNameSyntax, SpeculativeBindingOption)

Привязывает имя в контексте указанного расположения и проверяет, разрешается ли оно в псевдоним. Если это так, верните соответствующий ему aliasSymbol. В противном случае возвращается значение NULL.

GetSpeculativeConversion(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

GetSpeculativeMemberGroup(SemanticModel, Int32, ExpressionSyntax)

Возвращает соответствующий объект ImmutableArray символов для спекулирующего объекта ExpressionSyntax в заданной позиции, используемого в семантической информации для элементов, не отображаемых в исходном коде.

GetSpeculativeSymbolInfo(SemanticModel, Int32, AttributeSyntax)

Возвращает соответствующий объект SymbolInfo, содержащий семантические сведения для указанного AttributeSyntax в заданной позиции, используемый в семантической информации для элементов, не отображаемых в исходном коде.

GetSpeculativeSymbolInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Возвращает соответствующий объект SymbolInfo, содержащий семантические сведения для указанного AttributeSyntax.

GetSpeculativeTypeInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Возвращает соответствующий объект TypeInfo, содержащий семантические сведения для спекулирующего объекта ExpressionSyntax в заданной позиции, используемого в семантической информации для элементов, не отображаемых в исходном коде.

GetSymbolInfo(SemanticModel, AttributeSyntax, CancellationToken)

Возвращает соответствующий объект SymbolInfo, содержащий семантические сведения для указанного AttributeSyntax.

GetSymbolInfo(SemanticModel, CrefReferenceSyntax, CancellationToken)

Возвращает соответствующий объект SymbolInfo, содержащий семантические сведения для указанного объекта CrefReferenceSyntax.

GetSymbolInfo(SemanticModel, ExpressionRangeVariableSyntax, CancellationToken)

Возвращает метод Select, связанный LetClauseSyntaxс ExpressionRangeVariableSyntax в , или Microsoft.CodeAnalysis.SymbolInfo.None иным образом, если значение none равно .

GetSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Возвращает соответствующий объект SymbolInfo, содержащий семантические сведения для указанного объекта ExpressionSyntax.

GetSymbolInfo(SemanticModel, FunctionAggregationSyntax, CancellationToken)

Возвращает агрегатную функцию, связанную с FunctionAggregationSyntax.

GetSymbolInfo(SemanticModel, OrderingSyntax, CancellationToken)

Возвращает метод OrderBy/OrderByDescending/ThenBy/ThenByDescending, связанный с OrderingSyntax.

GetSymbolInfo(SemanticModel, QueryClauseSyntax, CancellationToken)

Возвращает сведения о символах для предложения запроса.

GetTypeInfo(SemanticModel, AttributeSyntax, CancellationToken)

Возвращает соответствующий объект TypeInfo, содержащий семантические сведения для указанного AttributeSyntax.

GetTypeInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Позволяет задавать семантические вопросы о дереве синтаксических узлов в компиляции. Как правило, экземпляр получается путем вызова Метода GetBinding при компиляции или компиляции.

OptionCompareText(SemanticModel)

Возвращает свойство OptionCompareText семантической модели.

OptionExplicit(SemanticModel)

Возвращает свойство Option Semantic ModelExplicit.

OptionInfer(SemanticModel)

Возвращает свойство OptionInfer семантической модели.

OptionStrict(SemanticModel)

Возвращает свойство OptionStrict семантической модели.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, AttributeSyntax, SemanticModel)

Получает SemanticModel для AttributeSyntax в заданной позиции, используемой в семантической информации для элементов, не отображаемых в исходном коде.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, EqualsValueSyntax, SemanticModel)

Возвращает SemanticModel для EqualsValueSyntax в заданной позиции, используемой в семантической информации для элементов, не отображаемых в исходном коде.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, ExecutableStatementSyntax, SemanticModel)

Возвращает SemanticModel для Объекта ExecutableStatementSyntax в заданной позиции, используемого в семантической информации для элементов, не отображаемых в исходном коде.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, RangeArgumentSyntax, SemanticModel)

Возвращает SemanticModel для RangeArgumentSyntax в заданной позиции, используемой в семантической информации для элементов, не отображаемых в исходном коде.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, TypeSyntax, SemanticModel, SpeculativeBindingOption)

Возвращает SemanticModel для TypeSyntax в заданной позиции, используемой в семантической информации для элементов, не отображаемых в исходном коде.

TryGetSpeculativeSemanticModelForMethodBody(SemanticModel, Int32, MethodBlockBaseSyntax, SemanticModel)

Возвращает SemanticModel для MethodBlockBaseSyntax в заданной позиции, используемой в семантической информации для элементов, не отображаемых в исходном коде.

Применяется к