Compartilhar via


SemanticModel Classe

Definição

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

public ref class SemanticModel abstract
public abstract class SemanticModel
type SemanticModel = class
Public MustInherit Class SemanticModel
Herança
SemanticModel

Comentários

Uma instância de SemanticModel armazena em cache símbolos locais e informações semânticas. Portanto, é muito mais eficiente usar uma única instância de SemanticModel ao fazer várias perguntas sobre uma árvore de sintaxe, pois as informações da primeira pergunta podem ser reutilizados. Isso também significa que manter uma instância de SemanticModel por um longo tempo pode impedir que uma quantidade significativa de memória seja coletada.

Quando uma resposta for um símbolo nomeado que pode ser acessado atravessando a raiz da tabela de símbolos (ou seja, de um AssemblySymbol da Compilação), esse símbolo será retornado (ou seja, o valor retornado será igual a uma acessível da raiz da tabela de símbolos). Símbolos que representam entidades sem nomes (por exemplo, matriz de int) podem ou não exibir igualdade de referência. No entanto, alguns símbolos nomeados (como variáveis locais) não podem ser acessados por meio da raiz. Esses símbolos são visíveis como respostas para perguntas semânticas. Quando o mesmo objeto SemanticModel é usado, as respostas exibem a igualdade de referência.

Construtores

SemanticModel()

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

Propriedades

Compilation

A compilação da qual esse modelo foi obtido.

CompilationCore

A compilação da qual esse modelo foi obtido.

IgnoresAccessibility

Retornará true se este for um SemanticModel que ignora as regras de acessibilidade ao responder a perguntas semânticas.

IsSpeculativeSemanticModel

Retornará true se este for um modelo semântico especulativo criado com qualquer um dos métodos TryGetSpeculativeSemanticModel.

Language

Obtém a linguagem de origem ("C#" ou "Visual Basic").

OriginalPositionForSpeculation

Se esse for um modelo semântico especulativo, retornará a posição original na qual o modelo especulativo foi criado. Caso contrário, retornará 0.

ParentModel

Se esse for um modelo semântico especulativo, retornará seu modelo semântico pai. Caso contrário, retornará nulo.

ParentModelCore

Se esse for um modelo semântico especulativo, retornará seu modelo semântico pai. Caso contrário, retornará nulo.

RootCore

Raiz desse modelo semântico

SyntaxTree

A árvore de sintaxe da qual esse modelo foi obtido.

SyntaxTreeCore

A árvore de sintaxe da qual esse modelo foi obtido.

Métodos

AnalyzeControlFlowCore(SyntaxNode)

Analisar o fluxo de controle dentro de uma parte de um corpo do método.

AnalyzeControlFlowCore(SyntaxNode, SyntaxNode)

Analisar o fluxo de controle dentro de uma parte de um corpo do método.

AnalyzeDataFlowCore(SyntaxNode)

Analisar o fluxo de dados dentro de uma parte de um corpo do método.

AnalyzeDataFlowCore(SyntaxNode, SyntaxNode)

Analisar o fluxo de dados dentro de uma parte de um corpo do método.

GetAliasInfoCore(SyntaxNode, CancellationToken)

Se "nameSyntax" for resolvido para um nome de alias, retorne o IAliasSymbol correspondente a A. Caso contrário, retorne nulo.

GetConstantValue(SyntaxNode, CancellationToken)

Se o nó fornecido tiver um valor constante, um valor Opcional será retornado com HasValue definido como true e com Value definido como a constante. Se o nó não tiver um valor constante, um Opcional será retornado com HasValue definido como false.

GetConstantValueCore(SyntaxNode, CancellationToken)

Se o nó fornecido tiver um valor constante, um valor Opcional será retornado com HasValue definido como true e com Value definido como a constante. Se o nó não tiver um valor constante, um Opcional será retornado com HasValue definido como false.

GetDeclarationDiagnostics(Nullable<TextSpan>, CancellationToken)

Obtenha todos os erros de declaração na árvore de sintaxe associada a esse objeto. Não obtém erros envolvendo sintaxe incorreta, compilando corpos de método ou inicializadores.

GetDeclaredSymbolCore(SyntaxNode, CancellationToken)

Obtém o símbolo associado a um nó de sintaxe de declaração.

GetDeclaredSymbolsCore(SyntaxNode, CancellationToken)

Obtém os símbolos associados a um nó de sintaxe de declaração. Ao contrário Microsoft.CodeAnalysis.SemanticModel.GetDeclaredSymbolForNode(Microsoft.CodeAnalysis.SyntaxNode,System.Threading.CancellationToken)de , esse método retorna todos os símbolos declarados por um determinado nó de sintaxe de declaração. Especificamente:

GetDiagnostics(Nullable<TextSpan>, CancellationToken)

Obtenha todos os erros na árvore de sintaxe associada a esse objeto. Inclui erros envolvendo corpos de método de compilação ou inicializadores, além dos erros retornados por GetDeclarationDiagnostics.

GetEnclosingSymbol(Int32, CancellationToken)

Dada uma posição na SyntaxTree para este SemanticModel retorna o símbolo mais interno do qual a posição é considerada dentro de.

GetEnclosingSymbolCore(Int32, CancellationToken)

Dada uma posição na SyntaxTree para este SemanticModel retorna o símbolo mais interno do qual a posição é considerada dentro de.

GetImportScopes(Int32, CancellationToken)

Dada uma posição na SyntaxTree para este SemanticModel retorna o IImportScopes nesse ponto. Os escopos são ordenados do mais próximo ao passado position para o mais distante. Consulte IImportScope para obter uma descrição mais profunda de quais informações estão disponíveis para cada escopo.

GetMemberGroupCore(SyntaxNode, CancellationToken)

Ao obter informações para um símbolo que é resolvido para um grupo de métodos ou grupo de propriedades, do qual um método é escolhido; o método ou propriedade escolhido está presente em Symbol; todos os métodos no grupo que foi consultado são colocados nessa propriedade.

GetMethodBodyDiagnostics(Nullable<TextSpan>, CancellationToken)

Obtenha todos os erros do corpo do método e do inicializador na árvore de sintaxe associada a esse objeto. Não obtém erros envolvendo sintaxe ou declarações incorretas.

GetNullableContext(Int32)

Obtém o NullableContext em uma posição no arquivo.

GetOperation(SyntaxNode, CancellationToken)

Obtém a operação correspondente ao nó de sintaxe de expressão ou instrução.

GetOperationCore(SyntaxNode, CancellationToken)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetPreprocessingSymbolInfo(SyntaxNode)

Se nameSyntax for um nó de sintaxe de nome do identificador, retorne o PreprocessingSymbolInfo correspondente a ele.

GetPreprocessingSymbolInfoCore(SyntaxNode)

Se nameSyntax for um nó de sintaxe de nome do identificador, retorne o PreprocessingSymbolInfo correspondente a ele.

GetSpeculativeAliasInfoCore(Int32, SyntaxNode, SpeculativeBindingOption)

Associa o nome no contexto do local especificado e vê se ele é resolvido para um nome de alias. Se isso acontecer, retorne o AliasSymbol correspondente a ele. Caso contrário, retorne nulo.

GetSpeculativeSymbolInfoCore(Int32, SyntaxNode, SpeculativeBindingOption)

Associa o nó no contexto do local especificado e obtém informações semânticas, como tipo, símbolos e diagnóstico. Esse método é usado para obter informações semânticas sobre uma expressão que realmente não apareceu no código-fonte.

GetSpeculativeTypeInfoCore(Int32, SyntaxNode, SpeculativeBindingOption)

Associa o nó no contexto do local especificado e obtém informações semânticas, como tipo, símbolos e diagnóstico. Esse método é usado para obter informações semânticas sobre uma expressão que realmente não apareceu no código-fonte.

GetSymbolInfoCore(SyntaxNode, CancellationToken)

Obtém informações de símbolo sobre um nó de sintaxe.

GetSyntaxDiagnostics(Nullable<TextSpan>, CancellationToken)

Obtenha todos os erros de sintaxe na árvore de sintaxe associada a esse objeto. Não obtém erros envolvendo declarações ou compilação de corpos de método ou inicializadores.

GetTopmostNodeForDiagnosticAnalysis(ISymbol, SyntaxNode)

Usa um símbolo e uma sintaxe para uma de suas referências de sintaxe declarantes e retorna o nó de sintaxe mais alto a ser usado pelo analisador de sintaxe.

GetTypeInfoCore(SyntaxNode, CancellationToken)

Obtém informações de tipo sobre um nó de sintaxe.

IsAccessible(Int32, ISymbol)

Determina se o símbolo está acessível no local especificado.

IsAccessibleCore(Int32, ISymbol)

Determina se o símbolo está acessível no local especificado.

IsEventUsableAsField(Int32, IEventSymbol)

Eventos semelhantes a campo podem ser usados como campos em tipos que podem acessar membros privados do tipo de declaração do evento.

IsEventUsableAsFieldCore(Int32, IEventSymbol)

Eventos semelhantes a campo podem ser usados como campos em tipos que podem acessar membros privados do tipo de declaração do evento.

LookupBaseMembers(Int32, String)

Obtém os membros de tipo base disponíveis no contexto do local especificado. Semelhante a chamar LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean) com o contêiner definido como o tipo base imediato do tipo no qual position ocorre. No entanto, as regras de acessibilidade são diferentes: os membros protegidos do tipo base ficarão visíveis.

Considere o seguinte exemplo:

classe pública Base { protected void M() { } }

classe pública Derivada: Base { void Test(Base b) { b.M(); // Error - não pode acessar o membro protegido. Base. M(); } }

Os membros protegidos de uma instância de outro tipo só poderão ser acessados se a instância for conhecida como "esta" instância (conforme indicado pela palavra-chave "base").

LookupBaseMembersCore(Int32, String)

Implementação de backup de LookupBaseMembers(Int32, String).

LookupLabels(Int32, String)

Obtém os símbolos de rótulo nomeados disponíveis no contexto do local especificado e do contêiner opcional. Somente os membros acessíveis e visíveis do local especificado são retornados.

LookupLabelsCore(Int32, String)

Implementação de backup de LookupLabels(Int32, String).

LookupNamespacesAndTypes(Int32, INamespaceOrTypeSymbol, String)

Obtém os símbolos de namespace e tipo nomeados disponíveis no contexto do local especificado e do contêiner opcional. Somente os membros acessíveis e visíveis do local especificado são retornados.

LookupNamespacesAndTypesCore(Int32, INamespaceOrTypeSymbol, String)

Implementação de backup de LookupNamespacesAndTypes(Int32, INamespaceOrTypeSymbol, String).

LookupStaticMembers(Int32, INamespaceOrTypeSymbol, String)

Obtém os símbolos de membro estáticos nomeados disponíveis no contexto do local especificado e do contêiner opcional. Somente os membros acessíveis e visíveis do local especificado são retornados.

Métodos de extensão não reduzidos são considerados, pois são métodos estáticos.

LookupStaticMembersCore(Int32, INamespaceOrTypeSymbol, String)

Implementação de backup de LookupStaticMembers(Int32, INamespaceOrTypeSymbol, String).

LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean)

Obtém os símbolos nomeados disponíveis no contexto do local especificado e do contêiner opcional. Somente os símbolos acessíveis e visíveis do local especificado são retornados.

LookupSymbolsCore(Int32, INamespaceOrTypeSymbol, String, Boolean)

Implementação de backup de LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean).

Métodos de Extensão

AnalyzeControlFlow(SemanticModel, StatementSyntax)

Analisar o fluxo de controle dentro de uma parte de um corpo do método.

AnalyzeControlFlow(SemanticModel, StatementSyntax, StatementSyntax)

Analisar o fluxo de controle dentro de uma parte de um corpo do método.

AnalyzeDataFlow(SemanticModel, ConstructorInitializerSyntax)

Analisar o fluxo de dados em um ConstructorInitializerSyntax.

AnalyzeDataFlow(SemanticModel, ExpressionSyntax)

Analisar o fluxo de dados em um ExpressionSyntax.

AnalyzeDataFlow(SemanticModel, PrimaryConstructorBaseTypeSyntax)

Analisar o fluxo de dados em um ArgumentList inicializador.

AnalyzeDataFlow(SemanticModel, StatementSyntax)

Analisar o fluxo de dados dentro de uma parte do corpo de um método.

AnalyzeDataFlow(SemanticModel, StatementSyntax, StatementSyntax)

Analisar o fluxo de dados dentro de uma parte do corpo de um método.

ClassifyConversion(SemanticModel, ExpressionSyntax, ITypeSymbol, Boolean)

Determina que tipo de conversão, se houver, seria usado se uma determinada expressão fosse convertida em um determinado tipo. Se isExplicitInSource for true, a conversão produzida será aquela que será usada se a conversão fosse feita para uma expressão de conversão.

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

Determina que tipo de conversão, se houver, seria usado se uma determinada expressão fosse convertida em um determinado tipo. Se isExplicitInSource for true, a conversão produzida será aquela que será usada se a conversão fosse feita para uma expressão de conversão.

GetAliasInfo(SemanticModel, IdentifierNameSyntax, CancellationToken)

Se nameSyntax for resolvido para um nome de alias, retorne o AliasSymbol correspondente a A. Caso contrário, retorne nulo.

GetAwaitExpressionInfo(SemanticModel, AwaitExpressionSyntax)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetCollectionInitializerSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Retorna o(s) símbolo(s) do método 'Add', se houver, corresponde à sintaxe de expressão especificada dentro Initializerde .

GetConstantValue(SemanticModel, ExpressionSyntax, CancellationToken)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetConversion(SemanticModel, SyntaxNode, CancellationToken)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetDeclaredSymbol(SemanticModel, AccessorDeclarationSyntax, CancellationToken)

Dado um nó de sintaxe que declara uma propriedade ou acessador de membro, obtenha o símbolo correspondente.

GetDeclaredSymbol(SemanticModel, AnonymousObjectCreationExpressionSyntax, CancellationToken)

Dado um nó de sintaxe da expressão de criação de objeto anônimo, obtenha o símbolo de tipo de objeto anônimo.

GetDeclaredSymbol(SemanticModel, AnonymousObjectMemberDeclaratorSyntax, CancellationToken)

Dado um nó de sintaxe do inicializador de criação de objeto anônimo, obtenha o símbolo de propriedade de objeto anônimo.

GetDeclaredSymbol(SemanticModel, ArgumentSyntax, CancellationToken)

Dado um nó de sintaxe de um argumento de tupla, obtenha o símbolo do elemento de tupla.

GetDeclaredSymbol(SemanticModel, BaseMethodDeclarationSyntax, CancellationToken)

Dada uma sintaxe de declaração de método base, obtenha o símbolo de método correspondente.

GetDeclaredSymbol(SemanticModel, BasePropertyDeclarationSyntax, CancellationToken)

Dado um nó de sintaxe que declara uma propriedade, um indexador ou um evento, obtenha o símbolo declarado correspondente.

GetDeclaredSymbol(SemanticModel, BaseTypeDeclarationSyntax, CancellationToken)

Dada uma declaração de tipo, obtenha o símbolo de tipo correspondente.

GetDeclaredSymbol(SemanticModel, CatchDeclarationSyntax, CancellationToken)

Dada uma declaração catch, obtenha o símbolo da variável de exceção

GetDeclaredSymbol(SemanticModel, CompilationUnitSyntax, CancellationToken)

Dada uma sintaxe de unidade de compilação, obtenha o símbolo de ponto de entrada do Programa Simples correspondente.

GetDeclaredSymbol(SemanticModel, DelegateDeclarationSyntax, CancellationToken)

Dada uma declaração de delegado, obtenha o símbolo de tipo correspondente.

GetDeclaredSymbol(SemanticModel, EnumMemberDeclarationSyntax, CancellationToken)

Dada uma declaração de membro de enumeração, obtenha o símbolo de campo correspondente.

GetDeclaredSymbol(SemanticModel, EventDeclarationSyntax, CancellationToken)

Dado um nó de sintaxe que declara um evento (personalizado), obtenha o símbolo de evento correspondente.

GetDeclaredSymbol(SemanticModel, ExternAliasDirectiveSyntax, CancellationToken)

Dada uma declaração de alias extern, obtenha o símbolo correspondente para o alias que foi introduzido.

GetDeclaredSymbol(SemanticModel, FileScopedNamespaceDeclarationSyntax, CancellationToken)

Dado um nó de sintaxe de declaração de namespace, obtenha o símbolo de namespace correspondente para o assembly de declaração.

GetDeclaredSymbol(SemanticModel, ForEachStatementSyntax, CancellationToken)

Dada uma instrução foreach, obtenha o símbolo da variável de iteração

GetDeclaredSymbol(SemanticModel, IndexerDeclarationSyntax, CancellationToken)

Dado um nó de sintaxe que declara um indexador, obtenha o símbolo declarado correspondente.

GetDeclaredSymbol(SemanticModel, JoinIntoClauseSyntax, CancellationToken)

Obtenha a variável de intervalo de consulta declarada em uma cláusula join into.

GetDeclaredSymbol(SemanticModel, LabeledStatementSyntax, CancellationToken)

Dada uma sintaxe de instrução rotulada, obtenha o símbolo de rótulo correspondente.

GetDeclaredSymbol(SemanticModel, LocalFunctionStatementSyntax, CancellationToken)

Dada uma sintaxe de declaração de função local, obtenha o símbolo correspondente.

GetDeclaredSymbol(SemanticModel, MemberDeclarationSyntax, CancellationToken)

Dada uma sintaxe de declaração de membro, obtenha o símbolo correspondente.

GetDeclaredSymbol(SemanticModel, NamespaceDeclarationSyntax, CancellationToken)

Dado um nó de sintaxe de declaração de namespace, obtenha o símbolo de namespace correspondente para o assembly de declaração.

GetDeclaredSymbol(SemanticModel, ParameterSyntax, CancellationToken)

Dado um nó de sintaxe de declaração de parâmetro, obtenha o símbolo correspondente.

GetDeclaredSymbol(SemanticModel, PropertyDeclarationSyntax, CancellationToken)

Dado um nó de sintaxe que declara uma propriedade, obtenha o símbolo declarado correspondente.

GetDeclaredSymbol(SemanticModel, QueryClauseSyntax, CancellationToken)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetDeclaredSymbol(SemanticModel, QueryContinuationSyntax, CancellationToken)

Obter a variável de intervalo de consulta declarada em uma cláusula de continuação de consulta.

GetDeclaredSymbol(SemanticModel, SingleVariableDesignationSyntax, CancellationToken)

Dada uma sintaxe do declarador de variável, obtenha o símbolo correspondente.

GetDeclaredSymbol(SemanticModel, SwitchLabelSyntax, CancellationToken)

Dada uma sintaxe de rótulo de comutador, obtenha o símbolo de rótulo correspondente.

GetDeclaredSymbol(SemanticModel, TupleElementSyntax, CancellationToken)

Dada uma sintaxe de elemento de tupla, obtenha o símbolo correspondente.

GetDeclaredSymbol(SemanticModel, TupleExpressionSyntax, CancellationToken)

Dado um nó de sintaxe da expressão de tupla, obtenha o símbolo de tipo de tupla.

GetDeclaredSymbol(SemanticModel, TypeParameterSyntax, CancellationToken)

Dada uma declaração de parâmetro de tipo (campo ou método), obtenha o símbolo correspondente

GetDeclaredSymbol(SemanticModel, UsingDirectiveSyntax, CancellationToken)

Dada uma declaração using, obtenha o símbolo correspondente para o alias using que foi introduzido.

GetDeclaredSymbol(SemanticModel, VariableDeclaratorSyntax, CancellationToken)

Dada uma sintaxe do declarador de variável, obtenha o símbolo correspondente.

GetDeconstructionInfo(SemanticModel, AssignmentExpressionSyntax)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetDeconstructionInfo(SemanticModel, ForEachVariableStatementSyntax)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetForEachStatementInfo(SemanticModel, CommonForEachStatementSyntax)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetForEachStatementInfo(SemanticModel, ForEachStatementSyntax)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetIndexerGroup(SemanticModel, ExpressionSyntax, CancellationToken)

Retorna a lista de indexadores acessíveis e não ocultos que podem ser invocados com a expressão fornecida como receptor.

GetMemberGroup(SemanticModel, AttributeSyntax, CancellationToken)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetMemberGroup(SemanticModel, ConstructorInitializerSyntax, CancellationToken)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetMemberGroup(SemanticModel, ExpressionSyntax, CancellationToken)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetQueryClauseInfo(SemanticModel, QueryClauseSyntax, CancellationToken)

Obtém as informações semânticas associadas a uma cláusula de consulta.

GetSpeculativeAliasInfo(SemanticModel, Int32, IdentifierNameSyntax, SpeculativeBindingOption)

Associa o nome no contexto do local especificado e vê se ele é resolvido para um nome de alias. Se isso acontecer, retorne o AliasSymbol correspondente a ele. Caso contrário, retorne nulo.

GetSpeculativeConversion(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetSpeculativeSymbolInfo(SemanticModel, Int32, AttributeSyntax)

Associe o atributo no contexto do local especificado e obtenha informações semânticas, como tipo, símbolos e diagnóstico. Esse método é usado para obter informações semânticas sobre um atributo que realmente não apareceu no código-fonte.

GetSpeculativeSymbolInfo(SemanticModel, Int32, ConstructorInitializerSyntax)

Associe o inicializador do construtor no contexto do local especificado e obtenha informações semânticas, como tipo, símbolos e diagnóstico. Esse método é usado para obter informações semânticas sobre um inicializador de construtor que realmente não apareceu no código-fonte.

OBSERVAÇÃO: isso só funcionará em locais em que já existe um inicializador de construtor.

GetSpeculativeSymbolInfo(SemanticModel, Int32, CrefSyntax, SpeculativeBindingOption)

Associa a expressão CrefSyntax no contexto do local especificado e obtém informações de símbolo. Esse método é usado para obter informações de símbolo sobre uma expressão que realmente não apareceu no código-fonte.

GetSpeculativeSymbolInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Associa a expressão no contexto do local especificado e obtém informações de símbolo. Esse método é usado para obter informações de símbolo sobre uma expressão que realmente não apareceu no código-fonte.

GetSpeculativeSymbolInfo(SemanticModel, Int32, PrimaryConstructorBaseTypeSyntax)

Associe o inicializador do construtor no contexto do local especificado e obtenha informações semânticas sobre símbolos. Esse método é usado para obter informações semânticas sobre um inicializador de construtor que realmente não apareceu no código-fonte.

OBSERVAÇÃO: isso só funcionará em locais em que já existe um inicializador de construtor. PrimaryConstructorBaseTypeSyntax.

GetSpeculativeTypeInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Associa a expressão no contexto do local especificado e obtém informações de tipo. Esse método é usado para obter informações de tipo sobre uma expressão que realmente não apareceu no código-fonte.

GetSymbolInfo(SemanticModel, AttributeSyntax, CancellationToken)

Retorna quais símbolos, se houver, a sintaxe de atributo determinada associada ao no programa.

GetSymbolInfo(SemanticModel, ConstructorInitializerSyntax, CancellationToken)

Retorna quais símbolos, se houver, a sintaxe do inicializador de construtor determinada associada ao no programa.

GetSymbolInfo(SemanticModel, CrefSyntax, CancellationToken)

Obtém as informações semânticas associadas a um cref de comentário de documentação.

GetSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Retorna quais símbolos, se houver, a sintaxe de expressão determinada associada ao no programa.

Um AliasSymbol nunca será retornado por esse método. O que o alias se refere será retornado. Para obter informações sobre aliases, chame GetAliasInfo.

Se associar o nome do tipo C na expressão "novo C(...)", o construtor real associado a será retornado (ou todo o construtor se a resolução de sobrecarga falhar). Isso ocorre desde que C se associe sem ambiguidade a um único tipo que tenha um construtor. Se C associar ambíguo a vários tipos ou C associar a uma classe estática, os tipos serão retornados.

GetSymbolInfo(SemanticModel, OrderingSyntax, CancellationToken)

Obtém as informações semânticas de uma cláusula de ordenação em uma cláusula de consulta orderby.

GetSymbolInfo(SemanticModel, PrimaryConstructorBaseTypeSyntax, CancellationToken)

Retorna quais símbolos, se houver, a sintaxe do inicializador de construtor determinada associada ao no programa.

GetSymbolInfo(SemanticModel, SelectOrGroupClauseSyntax, CancellationToken)

Obtém as informações semânticas associadas a uma cláusula select ou group.

GetTypeInfo(SemanticModel, AttributeSyntax, CancellationToken)

Obtém informações de tipo sobre um atributo.

GetTypeInfo(SemanticModel, ConstructorInitializerSyntax, CancellationToken)

Obtém informações de tipo sobre um inicializador de construtor.

GetTypeInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Obtém informações de tipo sobre uma expressão.

GetTypeInfo(SemanticModel, SelectOrGroupClauseSyntax, CancellationToken)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, ArrowExpressionClauseSyntax, SemanticModel)

Obtenha um objeto SemanticModel associado a um corpo de expressão que não apareceu neste código-fonte. Isso pode ser usado para obter informações semânticas detalhadas sobre sub-partes de um corpo de expressão que não apareceu no código-fonte.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, AttributeSyntax, SemanticModel)

Obtenha um objeto SemanticModel associado a um atributo que não apareceu neste código-fonte. Isso pode ser usado para obter informações semânticas detalhadas sobre sub-partes de um atributo que não apareceu no código-fonte.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, ConstructorInitializerSyntax, SemanticModel)

Obtenha um objeto SemanticModel associado a um inicializador de construtor que não apareceu neste código-fonte. Isso pode ser usado para obter informações semânticas detalhadas sobre sub-partes de um inicializador de construtor que não apareceu no código-fonte.

OBSERVAÇÃO: isso só funcionará em locais em que já existe um inicializador de construtor.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, CrefSyntax, SemanticModel)

Obtenha um objeto SemanticModel associado a um nó de sintaxe cref que não apareceu neste código-fonte. Isso pode ser usado para obter informações semânticas detalhadas sobre sub-partes de uma sintaxe cref que não apareceu no código-fonte.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, EqualsValueClauseSyntax, SemanticModel)

Obtenha um objeto SemanticModel associado a um inicializador que não apareceu neste código-fonte. Isso pode ser usado para obter informações semânticas detalhadas sobre sub-partes de um inicializador de campo ou valor de parâmetro padrão que não apareceu no código-fonte.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, PrimaryConstructorBaseTypeSyntax, SemanticModel)

Obtenha um objeto SemanticModel associado a um inicializador de construtor que não apareceu neste código-fonte. Isso pode ser usado para obter informações semânticas detalhadas sobre sub-partes de um inicializador de construtor que não apareceu no código-fonte.

OBSERVAÇÃO: isso só funcionará em locais em que já existe um inicializador de construtor.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, StatementSyntax, SemanticModel)

Obtenha um objeto SemanticModel associado a uma instrução que não apareceu neste código-fonte. Isso pode ser usado para obter informações semânticas detalhadas sobre sub-partes de uma instrução que não apareceu no código-fonte.

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

Obtenha um objeto SemanticModel associado a um nó de sintaxe de tipo que não apareceu neste código-fonte. Isso pode ser usado para obter informações semânticas detalhadas sobre sub-partes de uma sintaxe de tipo que não apareceu no código-fonte.

TryGetSpeculativeSemanticModelForMethodBody(SemanticModel, Int32, AccessorDeclarationSyntax, SemanticModel)

Obtenha um objeto SemanticModel associado a um corpo do método que não apareceu neste código-fonte. Dado position deve estar dentro de um corpo de método existente do nó de sintaxe Raiz para este SemanticModel. Locais e rótulos declarados dentro desse corpo de método existente não são considerados no escopo do corpo do método especulado.

TryGetSpeculativeSemanticModelForMethodBody(SemanticModel, Int32, BaseMethodDeclarationSyntax, SemanticModel)

Obtenha um objeto SemanticModel associado a um corpo de método que não apareceu neste código-fonte. Dado position deve estar dentro de um corpo de método existente do nó de sintaxe Raiz para este SemanticModel. Locais e rótulos declarados dentro desse corpo de método existente não são considerados no escopo do corpo do método especulado.

AnalyzeControlFlow(SemanticModel, SyntaxNode)

Analisar o fluxo de controle dentro de uma parte de um corpo do método.

AnalyzeControlFlow(SemanticModel, SyntaxNode, SyntaxNode)

Analisar o fluxo de controle dentro de uma parte de um corpo do método.

AnalyzeDataFlow(SemanticModel, SyntaxNode)

Analisar o fluxo de dados dentro de uma parte de um corpo do método. observação (para C#): ConstructorInitializerSyntax e PrimaryConstructorBaseTypeSyntax são tratados por essa API como instruções regulares

AnalyzeDataFlow(SemanticModel, SyntaxNode, SyntaxNode)

Analisar o fluxo de dados dentro de uma parte de um corpo do método.

GetAliasInfo(SemanticModel, SyntaxNode, CancellationToken)

Se "nameSyntax" for resolvido para um nome de alias, retorne o IAliasSymbol correspondente a A. Caso contrário, retorne nulo.

GetDeclaredSymbol(SemanticModel, SyntaxNode, CancellationToken)

Obtém o símbolo associado a um nó de sintaxe de declaração.

GetMemberGroup(SemanticModel, SyntaxNode, CancellationToken)

Obtém uma lista de métodos ou símbolos de propriedade indexados para um nó de sintaxe.

GetSpeculativeAliasInfo(SemanticModel, Int32, SyntaxNode, SpeculativeBindingOption)

Associa o nome no contexto do local especificado e vê se ele é resolvido para um nome de alias. Se isso acontecer, retorne o AliasSymbol correspondente a ele. Caso contrário, retorne nulo.

GetSpeculativeSymbolInfo(SemanticModel, Int32, SyntaxNode, SpeculativeBindingOption)

Associa o nó no contexto do local especificado e obtém informações semânticas, como tipo, símbolos e diagnóstico. Esse método é usado para obter informações semânticas sobre uma expressão que realmente não apareceu no código-fonte.

GetSpeculativeTypeInfo(SemanticModel, Int32, SyntaxNode, SpeculativeBindingOption)

Associa o nó no contexto do local especificado e obtém informações semânticas, como tipo, símbolos e diagnóstico. Esse método é usado para obter informações semânticas sobre uma expressão que realmente não apareceu no código-fonte.

GetSymbolInfo(SemanticModel, SyntaxNode, CancellationToken)

Obtém informações de símbolo sobre um nó de sintaxe.

GetTypeInfo(SemanticModel, SyntaxNode, CancellationToken)

Obtém informações de tipo sobre um nó de sintaxe.

AnalyzeControlFlow(SemanticModel, StatementSyntax)

Analisar o fluxo de controle dentro de uma parte de um corpo do método.

AnalyzeControlFlow(SemanticModel, StatementSyntax, StatementSyntax)

Analisar o fluxo de controle dentro de uma parte de um corpo do método.

AnalyzeDataFlow(SemanticModel, ExpressionSyntax)

Analisar o fluxo de dados dentro de uma expressão.

AnalyzeDataFlow(SemanticModel, StatementSyntax)

Analisar o fluxo de dados em uma instrução .

AnalyzeDataFlow(SemanticModel, StatementSyntax, StatementSyntax)

Analise o fluxo de dados em um conjunto de instruções contíguas.

ClassifyConversion(SemanticModel, ExpressionSyntax, ITypeSymbol)

Determina que tipo de conversão há entre a sintaxe de expressão e um tipo especificado.

ClassifyConversion(SemanticModel, Int32, ExpressionSyntax, ITypeSymbol)

Determina que tipo de conversão há entre a sintaxe de expressão e um tipo especificado.

GetAggregateClauseSymbolInfo(SemanticModel, AggregateClauseSyntax, CancellationToken)

Retorna informações sobre métodos associados a AggregateClauseSyntax.

GetAliasInfo(SemanticModel, IdentifierNameSyntax, CancellationToken)

Se "nameSyntax" for resolvido para um nome de alias, retorne o AliasSymbol correspondente a A. Caso contrário, retorne nulo.

GetAwaitExpressionInfo(SemanticModel, AwaitExpressionSyntax, CancellationToken)

Obtém o AwaitExpressionInfo correspondente contendo informações semânticas para uma AwaitExpressionSyntax especificada.

GetCollectionInitializerSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Retorna quais símbolos de método 'Add', se houver, correspondem à sintaxe de expressão fornecida dentro Initializerde .

GetCollectionRangeVariableSymbolInfo(SemanticModel, CollectionRangeVariableSyntax, CancellationToken)

Retorna informações sobre métodos associados a CollectionRangeVariableSyntax.

GetConversion(SemanticModel, SyntaxNode, CancellationToken)

Obtém o TypeInfo correspondente que contém informações semânticas para uma ExpressionSyntax especificada.

GetDeclaredSymbol(SemanticModel, AccessorStatementSyntax, CancellationToken)

Obtém o MethodSymbol correspondente para um AccessorStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, AggregationRangeVariableSyntax, CancellationToken)

Obtém o RangeVariableSymbol correspondente para uma AggregationRangeVariableSyntax especificada.

GetDeclaredSymbol(SemanticModel, AnonymousObjectCreationExpressionSyntax, CancellationToken)

Obtém o NamedTypeSymbol correspondente para um AnonymousObjectCreationExpressionSyntax especificado.

GetDeclaredSymbol(SemanticModel, CatchStatementSyntax, CancellationToken)

Obtém o LocalSymbol correspondente para uma CatchStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, CollectionRangeVariableSyntax, CancellationToken)

Obtém o RangeVariableSymbol correspondente para uma CollectionRangeVariableSyntax especificada.

GetDeclaredSymbol(SemanticModel, DeclareStatementSyntax, CancellationToken)

Obtém o símbolo correspondente para uma DeclareStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, DelegateStatementSyntax, CancellationToken)

Obtém o NamedTypeSymbol correspondente para uma DelegateStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, EnumBlockSyntax, CancellationToken)

Obtém o NamedTypeSymbol correspondente para uma EnumBlockSyntax especificada.

GetDeclaredSymbol(SemanticModel, EnumMemberDeclarationSyntax, CancellationToken)

Obtém o FieldSymbol correspondente para um EnumMemberDeclarationSyntax especificado.

GetDeclaredSymbol(SemanticModel, EnumStatementSyntax, CancellationToken)

Obtém o NamedTypeSymbol correspondente para uma EnumStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, EventBlockSyntax, CancellationToken)

Obtém o EventSymbol correspondente para uma EventBlockSyntax especificada.

GetDeclaredSymbol(SemanticModel, EventStatementSyntax, CancellationToken)

Obtém o EventSymbol correspondente para uma EventStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, ExpressionRangeVariableSyntax, CancellationToken)

Obtém o RangeVariableSymbol correspondente para uma ExpressionRangeVariableSyntax especificada.

GetDeclaredSymbol(SemanticModel, FieldInitializerSyntax, CancellationToken)

Obtém o PropertySymbol correspondente para uma FieldInitializerSyntax especificada.

GetDeclaredSymbol(SemanticModel, LabelStatementSyntax, CancellationToken)

Obtém o LabelSymbol correspondente para uma LabelStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, MethodBlockBaseSyntax, CancellationToken)

Obtém o MethodSymbol correspondente para um MethodBlockBaseSyntax especificado.

GetDeclaredSymbol(SemanticModel, MethodStatementSyntax, CancellationToken)

Obtém o MethodSymbol correspondente para uma MethodStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, ModifiedIdentifierSyntax, CancellationToken)

Obtém o símbolo correspondente para um identificador especificado.

GetDeclaredSymbol(SemanticModel, NamespaceBlockSyntax, CancellationToken)

Obtém o NamespaceSymbol correspondente para um NamespaceBlockSyntax especificado.

GetDeclaredSymbol(SemanticModel, NamespaceStatementSyntax, CancellationToken)

Obtém o NamespaceSymbol correspondente para um NamespaceStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, OperatorStatementSyntax, CancellationToken)

Obtém o MethodSymbol correspondente para uma OperatorStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, ParameterSyntax, CancellationToken)

Obtém o ParameterSymbol correspondente para uma ParameterSyntax especificada.

GetDeclaredSymbol(SemanticModel, PropertyBlockSyntax, CancellationToken)

Obtém o PropertySymbol correspondente para uma PropertyBlockSyntax especificada.

GetDeclaredSymbol(SemanticModel, PropertyStatementSyntax, CancellationToken)

Obtém o PropertySymbol correspondente para uma PropertyStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, SimpleImportsClauseSyntax, CancellationToken)

Obtém o AliasSymbol correspondente para um AliasImportsClauseSyntax especificado.

GetDeclaredSymbol(SemanticModel, SubNewStatementSyntax, CancellationToken)

Obtém o MethodSymbol correspondente para uma SubNewStatementSyntax especificada.

GetDeclaredSymbol(SemanticModel, TupleElementSyntax, CancellationToken)

Obtém o símbolo correspondente para um elemento de tupla especificado.

GetDeclaredSymbol(SemanticModel, TypeBlockSyntax, CancellationToken)

Obtém o NamedTypeSymbol correspondente para um TypeBlockSyntax especificado.

GetDeclaredSymbol(SemanticModel, TypeParameterSyntax, CancellationToken)

Obtém o Símbolo TypeParameterSymbol correspondente para um TypeParameterSyntax especificado.

GetDeclaredSymbol(SemanticModel, TypeStatementSyntax, CancellationToken)

Obtém o NamedTypeSymbol correspondente para um TypeStatementSyntax especificado.

GetForEachStatementInfo(SemanticModel, ForEachBlockSyntax)

Obtém o ForEachStatementInfo correspondente contendo informações semânticas para uma ForBlockSyntax especificada.

GetForEachStatementInfo(SemanticModel, ForEachStatementSyntax)

Obtém o ForEachStatementInfo correspondente contendo informações semânticas para uma ForEachStatementSyntax especificada.

GetMemberGroup(SemanticModel, AttributeSyntax, CancellationToken)

Obtém a ImmutableArray correspondente de Símbolos para um AttributeSyntax especificado.

GetMemberGroup(SemanticModel, ExpressionSyntax, CancellationToken)

Obtém a ImmutableArray correspondente de Símbolos para uma ExpressionSyntax especificada.

GetPreprocessingSymbolInfo(SemanticModel, IdentifierNameSyntax)

Se o nó fornecido estiver dentro de uma diretiva de pré-processamento, obterá as informações de símbolo de pré-processamento para ele.

GetSpeculativeAliasInfo(SemanticModel, Int32, IdentifierNameSyntax, SpeculativeBindingOption)

Associa o nome no contexto do local especificado e vê se ele é resolvido para um nome de alias. Se isso acontecer, retorne o AliasSymbol correspondente a ele. Caso contrário, retorne nulo.

GetSpeculativeConversion(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

GetSpeculativeMemberGroup(SemanticModel, Int32, ExpressionSyntax)

Obtém a ImmutableArray correspondente de Símbolos para uma especulação de uma ExpressionSyntax em uma determinada posição, usada em Informações Semânticas para itens que não aparecem no código-fonte.

GetSpeculativeSymbolInfo(SemanticModel, Int32, AttributeSyntax)

Obtém o SymbolInfo correspondente que contém informações semânticas para AttributeSyntax especificado em uma determinada posição, usada em Informações Semânticas para itens que não aparecem no código-fonte.

GetSpeculativeSymbolInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Obtém o SymbolInfo correspondente que contém informações semânticas para um AttributeSyntax especificado.

GetSpeculativeTypeInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Obtém o TypeInfo correspondente que contém informações semânticas para uma especulação de uma ExpressionSyntax em uma determinada posição, usada em Informações Semânticas para itens que não aparecem no código-fonte.

GetSymbolInfo(SemanticModel, AttributeSyntax, CancellationToken)

Obtém o SymbolInfo correspondente que contém informações semânticas para um AttributeSyntax especificado.

GetSymbolInfo(SemanticModel, CrefReferenceSyntax, CancellationToken)

Obtém o SymbolInfo correspondente que contém informações semânticas para uma CrefReferenceSyntax especificada.

GetSymbolInfo(SemanticModel, ExpressionRangeVariableSyntax, CancellationToken)

Retorna o método Select associado a ExpressionRangeVariableSyntax em um LetClauseSyntaxou Microsoft.CodeAnalysis.SymbolInfo.None , caso contrário, se nenhum for.

GetSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Obtém o SymbolInfo correspondente que contém informações semânticas para uma ExpressionSyntax especificada.

GetSymbolInfo(SemanticModel, FunctionAggregationSyntax, CancellationToken)

Retorna a função de agregação associada FunctionAggregationSyntaxa .

GetSymbolInfo(SemanticModel, OrderingSyntax, CancellationToken)

Retorna o método OrderBy/OrderByDescending/ThenBy/ThenByDescending associado OrderingSyntaxa .

GetSymbolInfo(SemanticModel, QueryClauseSyntax, CancellationToken)

Retorna informações de símbolo para uma cláusula de consulta.

GetTypeInfo(SemanticModel, AttributeSyntax, CancellationToken)

Obtém o TypeInfo correspondente que contém informações semânticas para um AttributeSyntax especificado.

GetTypeInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Permite fazer perguntas semânticas sobre uma árvore de nós de sintaxe em uma Compilação. Normalmente, uma instância é obtida por uma chamada para GetBinding em uma compilação ou compilação.

OptionCompareText(SemanticModel)

Obtém a propriedade OptionCompareText do Modelo Semântico.

OptionExplicit(SemanticModel)

Obtém a propriedade OptionExplicit do Modelo Semântico.

OptionInfer(SemanticModel)

Obtém a propriedade OptionInfer de Modelo Semântico.

OptionStrict(SemanticModel)

Obtém a propriedade OptionStrict de Modelo Semântico.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, AttributeSyntax, SemanticModel)

Obtém o SemanticModel para um AttributeSyntax em uma determinada posição, usado em Informações Semânticas para itens que não aparecem no código-fonte.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, EqualsValueSyntax, SemanticModel)

Obtém o SemanticModel para uma EqualsValueSyntax em uma determinada posição, usada em Informações Semânticas para itens que não aparecem no código-fonte.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, ExecutableStatementSyntax, SemanticModel)

Obtém o SemanticModel para uma ExecutableStatementSyntax em uma determinada posição, usada em Informações Semânticas para itens que não aparecem no código-fonte.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, RangeArgumentSyntax, SemanticModel)

Obtém o SemanticModel para um RangeArgumentSyntax em uma determinada posição, usado em Informações Semânticas para itens que não aparecem no código-fonte.

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

Obtém o SemanticModel para um TypeSyntax em uma determinada posição, usado em Informações Semânticas para itens que não aparecem no código-fonte.

TryGetSpeculativeSemanticModelForMethodBody(SemanticModel, Int32, MethodBlockBaseSyntax, SemanticModel)

Obtém o SemanticModel para um MethodBlockBaseSyntax em uma determinada posição, usado em Informações Semânticas para itens que não aparecem no código-fonte.

Aplica-se a