Share via


SemanticModel Clase

Definición

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

public ref class SemanticModel abstract
public abstract class SemanticModel
type SemanticModel = class
Public MustInherit Class SemanticModel
Herencia
SemanticModel

Comentarios

Una instancia de SemanticModel almacena en caché los símbolos locales y la información semántica. Por lo tanto, es mucho más eficaz usar una única instancia de SemanticModel al formular varias preguntas sobre un árbol de sintaxis, ya que se puede reutilizar la información de la primera pregunta. Esto también significa que mantener en una instancia de SemanticModel durante mucho tiempo puede impedir que se recopile una cantidad significativa de memoria.

Cuando una respuesta es un símbolo con nombre al que se puede acceder mediante el recorrido desde la raíz de la tabla de símbolos (es decir, desde un AssemblySymbol de la compilación), ese símbolo se devolverá (es decir, el valor devuelto será de referencia igual a uno accesible desde la raíz de la tabla de símbolos). Los símbolos que representan entidades sin nombres (por ejemplo, array-of-int) pueden o no mostrar igualdad de referencia. Sin embargo, algunos símbolos con nombre (como las variables locales) no son accesibles desde la raíz. Estos símbolos son visibles como respuestas a preguntas semánticas. Cuando se usa el mismo objeto SemanticModel, las respuestas muestran la igualdad de referencias.

Constructores

SemanticModel()

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

Propiedades

Compilation

Compilación de la que se obtuvo este modelo.

CompilationCore

Compilación de la que se obtuvo este modelo.

IgnoresAccessibility

Devuelve true si se trata de un SemanticModel que omite las reglas de accesibilidad al responder a preguntas semánticas.

IsSpeculativeSemanticModel

Devuelve true si se trata de un modelo semántico especulativo creado con cualquiera de los métodos TryGetSpeculativeSemanticModel.

Language

Obtiene el lenguaje de origen ("C#" o "Visual Basic").

OriginalPositionForSpeculation

Si se trata de un modelo semántico especulativo, devuelve la posición original en la que se creó el modelo especulativo. De lo contrario, devuelve 0.

ParentModel

Si se trata de un modelo semántico especulativo, devuelve su modelo semántico primario. De lo contrario, devuelve null.

ParentModelCore

Si se trata de un modelo semántico especulativo, devuelve su modelo semántico primario. De lo contrario, devuelve null.

RootCore

Raíz de este modelo semántico

SyntaxTree

Árbol de sintaxis del que se obtuvo este modelo.

SyntaxTreeCore

Árbol de sintaxis del que se obtuvo este modelo.

Métodos

AnalyzeControlFlowCore(SyntaxNode)

Analice el flujo de control dentro de una parte de un cuerpo del método.

AnalyzeControlFlowCore(SyntaxNode, SyntaxNode)

Analice el flujo de control dentro de una parte de un cuerpo del método.

AnalyzeDataFlowCore(SyntaxNode)

Analice el flujo de datos dentro de una parte de un cuerpo del método.

AnalyzeDataFlowCore(SyntaxNode, SyntaxNode)

Analice el flujo de datos dentro de una parte de un cuerpo del método.

GetAliasInfoCore(SyntaxNode, CancellationToken)

Si "nameSyntax" se resuelve en un nombre de alias, devuelva el IAliasSymbol correspondiente a A. De lo contrario, devuelve null.

GetConstantValue(SyntaxNode, CancellationToken)

Si el nodo proporcionado tiene un valor constante, se devolverá un valor opcional con HasValue establecido en true y con Value establecido en la constante. Si el nodo no tiene un valor constante, se devolverá un valor Opcional con HasValue establecido en false.

GetConstantValueCore(SyntaxNode, CancellationToken)

Si el nodo proporcionado tiene un valor constante, se devolverá un valor opcional con HasValue establecido en true y con Value establecido en la constante. Si el nodo no tiene un valor constante, se devolverá un valor Opcional con HasValue establecido en false.

GetDeclarationDiagnostics(Nullable<TextSpan>, CancellationToken)

Obtenga todos los errores de declaración en el árbol de sintaxis asociado a este objeto. No obtiene errores que implican sintaxis incorrecta, compilando cuerpos de método o inicializadores.

GetDeclaredSymbolCore(SyntaxNode, CancellationToken)

Obtiene el símbolo asociado a un nodo de sintaxis de declaración.

GetDeclaredSymbolsCore(SyntaxNode, CancellationToken)

Obtiene los símbolos asociados a un nodo de sintaxis de declaración. A diferencia Microsoft.CodeAnalysis.SemanticModel.GetDeclaredSymbolForNode(Microsoft.CodeAnalysis.SyntaxNode,System.Threading.CancellationToken)de , este método devuelve todos los símbolos declarados por un nodo de sintaxis de declaración determinado. En concreto:

GetDiagnostics(Nullable<TextSpan>, CancellationToken)

Obtenga todos los errores del árbol de sintaxis asociado a este objeto. Incluye errores relacionados con la compilación de cuerpos o inicializadores del método, además de los errores devueltos por GetDeclarationDiagnostics.

GetEnclosingSymbol(Int32, CancellationToken)

Dada una posición en el SintaxisTree para este SemanticModel, se devuelve el símbolo más interno del que se considera dentro de la posición.

GetEnclosingSymbolCore(Int32, CancellationToken)

Dada una posición en el SintaxisTree para este SemanticModel, se devuelve el símbolo más interno del que se considera dentro de la posición.

GetImportScopes(Int32, CancellationToken)

Dada una posición en el SintaxisTree para este SemanticModel, devuelve los IImportScopevalores en ese momento. Los ámbitos se ordenan del más cercano al pasado position al más lejano. Consulte IImportScope para obtener una descripción más detallada de qué información está disponible para cada ámbito.

GetMemberGroupCore(SyntaxNode, CancellationToken)

Al obtener información para un símbolo que se resuelve en un grupo de métodos o grupo de propiedades, desde el que se elige un método; El método o la propiedad elegidos están presentes en Symbol; todos los métodos del grupo consultado se colocan en esta propiedad.

GetMethodBodyDiagnostics(Nullable<TextSpan>, CancellationToken)

Obtenga todos los errores de cuerpo y inicializador del método en el árbol de sintaxis asociado a este objeto. No obtiene errores que implican una sintaxis o declaraciones incorrectas.

GetNullableContext(Int32)

Obtiene en NullableContext una posición del archivo.

GetOperation(SyntaxNode, CancellationToken)

Obtiene la operación correspondiente al nodo de sintaxis de expresión o instrucción.

GetOperationCore(SyntaxNode, CancellationToken)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetPreprocessingSymbolInfo(SyntaxNode)

Si nameSyntax es un nodo de sintaxis de nombre de identificador, devuelva el PreprocessingSymbolInfo correspondiente a él.

GetPreprocessingSymbolInfoCore(SyntaxNode)

Si nameSyntax es un nodo de sintaxis de nombre de identificador, devuelva el PreprocessingSymbolInfo correspondiente a él.

GetSpeculativeAliasInfoCore(Int32, SyntaxNode, SpeculativeBindingOption)

Enlaza el nombre en el contexto de la ubicación especificada y ve si se resuelve en un nombre de alias. Si es así, devuelva el aliasSymbol correspondiente a él. De lo contrario, devuelve null.

GetSpeculativeSymbolInfoCore(Int32, SyntaxNode, SpeculativeBindingOption)

Enlaza el nodo en el contexto de la ubicación especificada y obtiene información semántica, como el tipo, los símbolos y los diagnósticos. Este método se usa para obtener información semántica sobre una expresión que no apareció realmente en el código fuente.

GetSpeculativeTypeInfoCore(Int32, SyntaxNode, SpeculativeBindingOption)

Enlaza el nodo en el contexto de la ubicación especificada y obtiene información semántica, como el tipo, los símbolos y los diagnósticos. Este método se usa para obtener información semántica sobre una expresión que no apareció realmente en el código fuente.

GetSymbolInfoCore(SyntaxNode, CancellationToken)

Obtiene información de símbolos sobre un nodo de sintaxis.

GetSyntaxDiagnostics(Nullable<TextSpan>, CancellationToken)

Obtenga todos los errores de sintaxis dentro del árbol de sintaxis asociado a este objeto. No obtiene errores relacionados con declaraciones o compilaciones de cuerpos de método o inicializadores.

GetTopmostNodeForDiagnosticAnalysis(ISymbol, SyntaxNode)

Toma un símbolo y una sintaxis para una de sus referencias de sintaxis declaratorias y devuelve el nodo de sintaxis más superior que el analizador de sintaxis va a usar.

GetTypeInfoCore(SyntaxNode, CancellationToken)

Obtiene información de tipo sobre un nodo de sintaxis.

IsAccessible(Int32, ISymbol)

Determina si el símbolo es accesible desde la ubicación especificada.

IsAccessibleCore(Int32, ISymbol)

Determina si el símbolo es accesible desde la ubicación especificada.

IsEventUsableAsField(Int32, IEventSymbol)

Los eventos similares a campos se pueden usar como campos en tipos que pueden tener acceso a miembros privados del tipo declarante del evento.

IsEventUsableAsFieldCore(Int32, IEventSymbol)

Los eventos similares a campos se pueden usar como campos en tipos que pueden tener acceso a miembros privados del tipo declarante del evento.

LookupBaseMembers(Int32, String)

Obtiene los miembros de tipo base disponibles en el contexto de la ubicación especificada. Similar a llamar a LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean) con el contenedor establecido en el tipo base inmediato del tipo en el que position se produce. Sin embargo, las reglas de accesibilidad son diferentes: los miembros protegidos del tipo base estarán visibles.

Considere el ejemplo siguiente:

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

clase pública Derivada: Base { void Test(Base b) { b.M(); // Error : no puede tener acceso al miembro protegido. Base. M(); } }

Los miembros protegidos de una instancia de otro tipo solo son accesibles si se sabe que la instancia es "this" (como se indica en la palabra clave "base").

LookupBaseMembersCore(Int32, String)

Respaldo de la implementación de LookupBaseMembers(Int32, String).

LookupLabels(Int32, String)

Obtiene los símbolos de etiqueta con nombre disponibles en el contexto de la ubicación especificada y el contenedor opcional. Solo se devuelven los miembros accesibles y visibles desde la ubicación especificada.

LookupLabelsCore(Int32, String)

Respaldo de la implementación de LookupLabels(Int32, String).

LookupNamespacesAndTypes(Int32, INamespaceOrTypeSymbol, String)

Obtiene el espacio de nombres y los símbolos de tipo disponibles en el contexto de la ubicación especificada y el contenedor opcional. Solo se devuelven los miembros accesibles y visibles desde la ubicación especificada.

LookupNamespacesAndTypesCore(Int32, INamespaceOrTypeSymbol, String)

Respaldo de la implementación de LookupNamespacesAndTypes(Int32, INamespaceOrTypeSymbol, String).

LookupStaticMembers(Int32, INamespaceOrTypeSymbol, String)

Obtiene los símbolos de miembro estático con nombre disponibles en el contexto de la ubicación especificada y el contenedor opcional. Solo se devuelven los miembros accesibles y visibles desde la ubicación especificada.

Se consideran métodos de extensión no reducidos, ya que son métodos estáticos.

LookupStaticMembersCore(Int32, INamespaceOrTypeSymbol, String)

Respaldo de la implementación de LookupStaticMembers(Int32, INamespaceOrTypeSymbol, String).

LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean)

Obtiene los símbolos con nombre disponibles en el contexto de la ubicación especificada y el contenedor opcional. Solo se devuelven símbolos accesibles y visibles desde la ubicación especificada.

LookupSymbolsCore(Int32, INamespaceOrTypeSymbol, String, Boolean)

Respaldo de la implementación de LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean).

Métodos de extensión

AnalyzeControlFlow(SemanticModel, StatementSyntax)

Analice el flujo de control dentro de una parte de un cuerpo del método.

AnalyzeControlFlow(SemanticModel, StatementSyntax, StatementSyntax)

Analice el flujo de control dentro de una parte de un cuerpo del método.

AnalyzeDataFlow(SemanticModel, ConstructorInitializerSyntax)

Analice el flujo de datos dentro de .ConstructorInitializerSyntax

AnalyzeDataFlow(SemanticModel, ExpressionSyntax)

Analice el flujo de datos dentro de .ExpressionSyntax

AnalyzeDataFlow(SemanticModel, PrimaryConstructorBaseTypeSyntax)

Analice el flujo de datos dentro de un ArgumentList inicializador.

AnalyzeDataFlow(SemanticModel, StatementSyntax)

Analice el flujo de datos dentro de una parte de un cuerpo del método.

AnalyzeDataFlow(SemanticModel, StatementSyntax, StatementSyntax)

Analice el flujo de datos dentro de una parte de un cuerpo del método.

ClassifyConversion(SemanticModel, ExpressionSyntax, ITypeSymbol, Boolean)

Determina qué tipo de conversión, si existe, se usaría si una expresión determinada se convierte en un tipo determinado. Si isExplicitInSource es true, la conversión generada es la que se usaría si se hubiera realizado la conversión para una expresión de conversión.

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

Determina qué tipo de conversión, si existe, se usaría si una expresión determinada se convierte en un tipo determinado. Si isExplicitInSource es true, la conversión generada es la que se usaría si se hubiera realizado la conversión para una expresión de conversión.

GetAliasInfo(SemanticModel, IdentifierNameSyntax, CancellationToken)

Si nameSyntax se resuelve en un nombre de alias, devuelva aliasSymbol correspondiente a A. De lo contrario, devuelve null.

GetAwaitExpressionInfo(SemanticModel, AwaitExpressionSyntax)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetCollectionInitializerSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Devuelve los símbolos de método "Add", si los hay, corresponde a la sintaxis de expresión especificada dentro de Initializer.

GetConstantValue(SemanticModel, ExpressionSyntax, CancellationToken)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetConversion(SemanticModel, SyntaxNode, CancellationToken)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetDeclaredSymbol(SemanticModel, AccessorDeclarationSyntax, CancellationToken)

Dado un nodo de sintaxis que declara un descriptor de acceso de propiedad o miembro, obtenga el símbolo correspondiente.

GetDeclaredSymbol(SemanticModel, AnonymousObjectCreationExpressionSyntax, CancellationToken)

Dado un nodo de sintaxis de expresión de creación de objetos anónimos, obtenga el símbolo de tipo de objeto anónimo.

GetDeclaredSymbol(SemanticModel, AnonymousObjectMemberDeclaratorSyntax, CancellationToken)

Dado un nodo de sintaxis del inicializador de creación de objetos anónimos, obtenga el símbolo de propiedad de objeto anónimo.

GetDeclaredSymbol(SemanticModel, ArgumentSyntax, CancellationToken)

Dado un nodo de sintaxis de un argumento de tupla, obtenga el símbolo del elemento de tupla.

GetDeclaredSymbol(SemanticModel, BaseMethodDeclarationSyntax, CancellationToken)

Dada una sintaxis de declaración de método base, obtenga el símbolo de método correspondiente.

GetDeclaredSymbol(SemanticModel, BasePropertyDeclarationSyntax, CancellationToken)

Dado un nodo de sintaxis que declara una propiedad, un indexador o un evento, obtenga el símbolo declarado correspondiente.

GetDeclaredSymbol(SemanticModel, BaseTypeDeclarationSyntax, CancellationToken)

Dada una declaración de tipo, obtenga el símbolo de tipo correspondiente.

GetDeclaredSymbol(SemanticModel, CatchDeclarationSyntax, CancellationToken)

Dada una declaración catch, obtenga el símbolo de la variable de excepción.

GetDeclaredSymbol(SemanticModel, CompilationUnitSyntax, CancellationToken)

Dada una sintaxis de unidad de compilación, obtenga el símbolo de punto de entrada programa simple correspondiente.

GetDeclaredSymbol(SemanticModel, DelegateDeclarationSyntax, CancellationToken)

Dada una declaración de delegado, obtenga el símbolo de tipo correspondiente.

GetDeclaredSymbol(SemanticModel, EnumMemberDeclarationSyntax, CancellationToken)

Dada una declaración de miembro de enumeración, obtenga el símbolo de campo correspondiente.

GetDeclaredSymbol(SemanticModel, EventDeclarationSyntax, CancellationToken)

Dado un nodo de sintaxis que declara un evento (personalizado), obtenga el símbolo de evento correspondiente.

GetDeclaredSymbol(SemanticModel, ExternAliasDirectiveSyntax, CancellationToken)

Dada una declaración de alias extern, obtenga el símbolo correspondiente para el alias que se introdujo.

GetDeclaredSymbol(SemanticModel, FileScopedNamespaceDeclarationSyntax, CancellationToken)

Dado un nodo de sintaxis de declaración de espacio de nombres, obtenga el símbolo de espacio de nombres correspondiente para el ensamblado de declaración.

GetDeclaredSymbol(SemanticModel, ForEachStatementSyntax, CancellationToken)

Dada una instrucción foreach, obtenga el símbolo de la variable de iteración.

GetDeclaredSymbol(SemanticModel, IndexerDeclarationSyntax, CancellationToken)

Dado un nodo de sintaxis que declara un indexador, obtenga el símbolo declarado correspondiente.

GetDeclaredSymbol(SemanticModel, JoinIntoClauseSyntax, CancellationToken)

Obtenga la variable de intervalo de consulta declarada en una cláusula join into.

GetDeclaredSymbol(SemanticModel, LabeledStatementSyntax, CancellationToken)

Dada una sintaxis de instrucción etiquetada, obtenga el símbolo de etiqueta correspondiente.

GetDeclaredSymbol(SemanticModel, LocalFunctionStatementSyntax, CancellationToken)

Dada una sintaxis de declaración de función local, obtenga el símbolo correspondiente.

GetDeclaredSymbol(SemanticModel, MemberDeclarationSyntax, CancellationToken)

Dada una sintaxis de declaración de miembro, obtenga el símbolo correspondiente.

GetDeclaredSymbol(SemanticModel, NamespaceDeclarationSyntax, CancellationToken)

Dado un nodo de sintaxis de declaración de espacio de nombres, obtenga el símbolo de espacio de nombres correspondiente para el ensamblado de declaración.

GetDeclaredSymbol(SemanticModel, ParameterSyntax, CancellationToken)

Dado un nodo de sintaxis de declaración de parámetros, obtenga el símbolo correspondiente.

GetDeclaredSymbol(SemanticModel, PropertyDeclarationSyntax, CancellationToken)

Dado un nodo de sintaxis que declara una propiedad, obtenga el símbolo declarado correspondiente.

GetDeclaredSymbol(SemanticModel, QueryClauseSyntax, CancellationToken)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetDeclaredSymbol(SemanticModel, QueryContinuationSyntax, CancellationToken)

Obtenga la variable de intervalo de consulta declarada en una cláusula de continuación de consulta.

GetDeclaredSymbol(SemanticModel, SingleVariableDesignationSyntax, CancellationToken)

Dada una sintaxis del declarador de variable, obtenga el símbolo correspondiente.

GetDeclaredSymbol(SemanticModel, SwitchLabelSyntax, CancellationToken)

Dada una sintaxis de etiqueta switch, obtenga el símbolo de etiqueta correspondiente.

GetDeclaredSymbol(SemanticModel, TupleElementSyntax, CancellationToken)

Dada la sintaxis de un elemento de tupla, obtenga el símbolo correspondiente.

GetDeclaredSymbol(SemanticModel, TupleExpressionSyntax, CancellationToken)

Dado un nodo de sintaxis de la expresión de tupla, obtenga el símbolo de tipo de tupla.

GetDeclaredSymbol(SemanticModel, TypeParameterSyntax, CancellationToken)

Dada una declaración de parámetro de tipo (campo o método), obtenga el símbolo correspondiente.

GetDeclaredSymbol(SemanticModel, UsingDirectiveSyntax, CancellationToken)

Dado que una declaración using obtiene el símbolo correspondiente para el alias using que se introdujo.

GetDeclaredSymbol(SemanticModel, VariableDeclaratorSyntax, CancellationToken)

Dada una sintaxis del declarador de variable, obtenga el símbolo correspondiente.

GetDeconstructionInfo(SemanticModel, AssignmentExpressionSyntax)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetDeconstructionInfo(SemanticModel, ForEachVariableStatementSyntax)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetForEachStatementInfo(SemanticModel, CommonForEachStatementSyntax)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetForEachStatementInfo(SemanticModel, ForEachStatementSyntax)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetIndexerGroup(SemanticModel, ExpressionSyntax, CancellationToken)

Devuelve la lista de indizadores accesibles y no ocultos que se pueden invocar con la expresión especificada como receptor.

GetMemberGroup(SemanticModel, AttributeSyntax, CancellationToken)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetMemberGroup(SemanticModel, ConstructorInitializerSyntax, CancellationToken)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetMemberGroup(SemanticModel, ExpressionSyntax, CancellationToken)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetQueryClauseInfo(SemanticModel, QueryClauseSyntax, CancellationToken)

Obtiene la información semántica asociada a una cláusula de consulta.

GetSpeculativeAliasInfo(SemanticModel, Int32, IdentifierNameSyntax, SpeculativeBindingOption)

Enlaza el nombre en el contexto de la ubicación especificada y ve si se resuelve en un nombre de alias. Si es así, devuelva el aliasSymbol correspondiente a él. De lo contrario, devuelve null.

GetSpeculativeConversion(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetSpeculativeSymbolInfo(SemanticModel, Int32, AttributeSyntax)

Enlace el atributo en el contexto de la ubicación especificada y obtenga información semántica, como el tipo, los símbolos y los diagnósticos. Este método se usa para obtener información semántica sobre un atributo que no apareció realmente en el código fuente.

GetSpeculativeSymbolInfo(SemanticModel, Int32, ConstructorInitializerSyntax)

Enlace el inicializador del constructor en el contexto de la ubicación especificada y obtenga información semántica, como el tipo, los símbolos y los diagnósticos. Este método se usa para obtener información semántica sobre un inicializador de constructor que no apareció realmente en el código fuente.

NOTA: Esto solo funcionará en ubicaciones en las que ya hay un inicializador de constructor.

GetSpeculativeSymbolInfo(SemanticModel, Int32, CrefSyntax, SpeculativeBindingOption)

Enlaza la expresión CrefSyntax en el contexto de la ubicación especificada y obtiene información de símbolos. Este método se usa para obtener información de símbolos sobre una expresión que no apareció realmente en el código fuente.

GetSpeculativeSymbolInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Enlaza la expresión en el contexto de la ubicación especificada y obtiene información de símbolos. Este método se usa para obtener información de símbolos sobre una expresión que no apareció realmente en el código fuente.

GetSpeculativeSymbolInfo(SemanticModel, Int32, PrimaryConstructorBaseTypeSyntax)

Enlace el inicializador del constructor en el contexto de la ubicación especificada y obtenga información semántica sobre los símbolos. Este método se usa para obtener información semántica sobre un inicializador de constructor que no apareció realmente en el código fuente.

NOTA: Esto solo funcionará en ubicaciones en las que ya hay un inicializador de constructor. PrimaryConstructorBaseTypeSyntax.

GetSpeculativeTypeInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Enlaza la expresión en el contexto de la ubicación especificada y obtiene información de tipo. Este método se usa para obtener información de tipo sobre una expresión que realmente no aparecen en el código fuente.

GetSymbolInfo(SemanticModel, AttributeSyntax, CancellationToken)

Devuelve los símbolos, si los hay, la sintaxis de atributo especificada enlazada a en el programa.

GetSymbolInfo(SemanticModel, ConstructorInitializerSyntax, CancellationToken)

Devuelve los símbolos, si los hay, la sintaxis del inicializador del constructor especificada enlazada a en el programa.

GetSymbolInfo(SemanticModel, CrefSyntax, CancellationToken)

Obtiene la información semántica asociada a una cref de comentario de documentación.

GetSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Devuelve los símbolos, si los hay, la sintaxis de expresión especificada enlazada a en el programa.

Este método nunca devolverá un aliasSymbol. En su lugar, se devolverá el alias al que hace referencia. Para obtener información sobre los alias, llame a GetAliasInfo.

Si enlaza el nombre de tipo C en la expresión "new C(...)", se devolverá el constructor real enlazado a (o todos los constructores si se produjo un error en la resolución de sobrecarga). Esto ocurre siempre que C se vincule de forma inequívoca a un único tipo que tenga un constructor. Si C se enlaza ambiguamente a varios tipos, o C se enlaza a una clase estática, se devuelven los tipos.

GetSymbolInfo(SemanticModel, OrderingSyntax, CancellationToken)

Obtiene la información semántica de una cláusula ordering en una cláusula de consulta orderby.

GetSymbolInfo(SemanticModel, PrimaryConstructorBaseTypeSyntax, CancellationToken)

Devuelve los símbolos, si los hay, la sintaxis del inicializador del constructor especificada enlazada a en el programa.

GetSymbolInfo(SemanticModel, SelectOrGroupClauseSyntax, CancellationToken)

Obtiene la información semántica asociada a una cláusula select o group.

GetTypeInfo(SemanticModel, AttributeSyntax, CancellationToken)

Obtiene información de tipo sobre un atributo.

GetTypeInfo(SemanticModel, ConstructorInitializerSyntax, CancellationToken)

Obtiene información de tipo sobre un inicializador de constructor.

GetTypeInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Obtiene información de tipo sobre una expresión.

GetTypeInfo(SemanticModel, SelectOrGroupClauseSyntax, CancellationToken)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, ArrowExpressionClauseSyntax, SemanticModel)

Obtiene un objeto SemanticModel asociado a un cuerpo de expresión que no aparecen en este código fuente. Esto se puede usar para obtener información semántica detallada sobre las subpartes de un cuerpo de expresión que no aparecen en el código fuente.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, AttributeSyntax, SemanticModel)

Obtenga un objeto SemanticModel asociado a un atributo que no aparezca en este código fuente. Esto se puede usar para obtener información semántica detallada sobre las subpartes de un atributo que no aparecen en el código fuente.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, ConstructorInitializerSyntax, SemanticModel)

Obtiene un objeto SemanticModel asociado a un inicializador de constructor que no apareció en este código fuente. Esto se puede usar para obtener información semántica detallada sobre las subpartes de un inicializador de constructor que no aparecen en el código fuente.

NOTA: Esto solo funcionará en ubicaciones en las que ya hay un inicializador de constructor.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, CrefSyntax, SemanticModel)

Obtiene un objeto SemanticModel asociado a un nodo de sintaxis cref que no aparecen en este código fuente. Esto se puede usar para obtener información semántica detallada sobre las subpartes de una sintaxis cref que no aparecen en el código fuente.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, EqualsValueClauseSyntax, SemanticModel)

Obtiene un objeto SemanticModel asociado a un inicializador que no aparecen en este código fuente. Esto se puede usar para obtener información semántica detallada sobre las subpartes de un inicializador de campo o un valor de parámetro predeterminado que no aparecen en el código fuente.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, PrimaryConstructorBaseTypeSyntax, SemanticModel)

Obtiene un objeto SemanticModel asociado a un inicializador de constructor que no apareció en este código fuente. Esto se puede usar para obtener información semántica detallada sobre las subpartes de un inicializador de constructor que no aparecen en el código fuente.

NOTA: Esto solo funcionará en ubicaciones en las que ya hay un inicializador de constructor.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, StatementSyntax, SemanticModel)

Obtiene un objeto SemanticModel asociado a una instrucción que no aparecen en este código fuente. Esto se puede usar para obtener información semántica detallada sobre las subpartes de una instrucción que no aparecen en el código fuente.

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

Obtiene un objeto SemanticModel asociado a un nodo de sintaxis de tipo que no aparecen en este código fuente. Esto se puede usar para obtener información semántica detallada sobre las subpartes de una sintaxis de tipo que no aparecen en el código fuente.

TryGetSpeculativeSemanticModelForMethodBody(SemanticModel, Int32, AccessorDeclarationSyntax, SemanticModel)

Obtiene un objeto SemanticModel asociado a un cuerpo del método que no aparecen en este código fuente. Dado position debe estar dentro de un cuerpo de método existente del nodo de sintaxis raíz para este SemanticModel. Las variables locales y las etiquetas declaradas dentro de este cuerpo del método existente no se consideran en el ámbito del cuerpo del método especulado.

TryGetSpeculativeSemanticModelForMethodBody(SemanticModel, Int32, BaseMethodDeclarationSyntax, SemanticModel)

Obtiene un objeto SemanticModel asociado a un cuerpo del método que no aparecen en este código fuente. Dado position debe estar dentro de un cuerpo de método existente del nodo de sintaxis raíz para este SemanticModel. Las variables locales y las etiquetas declaradas dentro de este cuerpo del método existente no se consideran en el ámbito del cuerpo del método especulado.

AnalyzeControlFlow(SemanticModel, SyntaxNode)

Analice el flujo de control dentro de una parte de un cuerpo del método.

AnalyzeControlFlow(SemanticModel, SyntaxNode, SyntaxNode)

Analice el flujo de control dentro de una parte de un cuerpo del método.

AnalyzeDataFlow(SemanticModel, SyntaxNode)

Analice el flujo de datos dentro de una parte de un cuerpo del método. note (para C#): ConstructorInitializerSyntax y PrimaryConstructorBaseTypeSyntax se tratan mediante esta API como instrucciones regulares.

AnalyzeDataFlow(SemanticModel, SyntaxNode, SyntaxNode)

Analice el flujo de datos dentro de una parte de un cuerpo del método.

GetAliasInfo(SemanticModel, SyntaxNode, CancellationToken)

Si "nameSyntax" se resuelve en un nombre de alias, devuelva el IAliasSymbol correspondiente a A. De lo contrario, devuelve null.

GetDeclaredSymbol(SemanticModel, SyntaxNode, CancellationToken)

Obtiene el símbolo asociado a un nodo de sintaxis de declaración.

GetMemberGroup(SemanticModel, SyntaxNode, CancellationToken)

Obtiene una lista de símbolos de propiedad indizada o método para un nodo de sintaxis.

GetSpeculativeAliasInfo(SemanticModel, Int32, SyntaxNode, SpeculativeBindingOption)

Enlaza el nombre en el contexto de la ubicación especificada y ve si se resuelve en un nombre de alias. Si es así, devuelva el aliasSymbol correspondiente a él. De lo contrario, devuelve null.

GetSpeculativeSymbolInfo(SemanticModel, Int32, SyntaxNode, SpeculativeBindingOption)

Enlaza el nodo en el contexto de la ubicación especificada y obtiene información semántica, como el tipo, los símbolos y los diagnósticos. Este método se usa para obtener información semántica sobre una expresión que no apareció realmente en el código fuente.

GetSpeculativeTypeInfo(SemanticModel, Int32, SyntaxNode, SpeculativeBindingOption)

Enlaza el nodo en el contexto de la ubicación especificada y obtiene información semántica, como el tipo, los símbolos y los diagnósticos. Este método se usa para obtener información semántica sobre una expresión que no apareció realmente en el código fuente.

GetSymbolInfo(SemanticModel, SyntaxNode, CancellationToken)

Obtiene información de símbolos sobre un nodo de sintaxis.

GetTypeInfo(SemanticModel, SyntaxNode, CancellationToken)

Obtiene información de tipo sobre un nodo de sintaxis.

AnalyzeControlFlow(SemanticModel, StatementSyntax)

Analice el flujo de control dentro de una parte de un cuerpo del método.

AnalyzeControlFlow(SemanticModel, StatementSyntax, StatementSyntax)

Analice el flujo de control dentro de una parte de un cuerpo del método.

AnalyzeDataFlow(SemanticModel, ExpressionSyntax)

Analice el flujo de datos dentro de una expresión.

AnalyzeDataFlow(SemanticModel, StatementSyntax)

Analice el flujo de datos dentro de una instrucción .

AnalyzeDataFlow(SemanticModel, StatementSyntax, StatementSyntax)

Analice el flujo de datos dentro de un conjunto de instrucciones contiguas.

ClassifyConversion(SemanticModel, ExpressionSyntax, ITypeSymbol)

Determina qué tipo de conversión hay entre la sintaxis de expresión y un tipo especificado.

ClassifyConversion(SemanticModel, Int32, ExpressionSyntax, ITypeSymbol)

Determina qué tipo de conversión hay entre la sintaxis de expresión y un tipo especificado.

GetAggregateClauseSymbolInfo(SemanticModel, AggregateClauseSyntax, CancellationToken)

Devuelve información sobre los métodos asociados a AggregateClauseSyntax.

GetAliasInfo(SemanticModel, IdentifierNameSyntax, CancellationToken)

Si "nameSyntax" se resuelve en un nombre de alias, devuelve el AliasSymbol correspondiente a A. De lo contrario, devuelve null.

GetAwaitExpressionInfo(SemanticModel, AwaitExpressionSyntax, CancellationToken)

Obtiene el awaitExpressionInfo correspondiente que contiene información semántica para un awaitExpressionSyntax especificado.

GetCollectionInitializerSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Devuelve los símbolos de método "Add", si los hay, corresponde a la sintaxis de expresión especificada dentro Initializerde .

GetCollectionRangeVariableSymbolInfo(SemanticModel, CollectionRangeVariableSyntax, CancellationToken)

Devuelve información sobre los métodos asociados a CollectionRangeVariableSyntax.

GetConversion(SemanticModel, SyntaxNode, CancellationToken)

Obtiene el TypeInfo correspondiente que contiene información semántica para un expressionSyntax especificado.

GetDeclaredSymbol(SemanticModel, AccessorStatementSyntax, CancellationToken)

Obtiene el MethodSymbol correspondiente para un Descriptor de accesoStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, AggregationRangeVariableSyntax, CancellationToken)

Obtiene el RangeVariableSymbol correspondiente para un objeto AggregationRangeVariableSyntax especificado.

GetDeclaredSymbol(SemanticModel, AnonymousObjectCreationExpressionSyntax, CancellationToken)

Obtiene el namedTypeSymbol correspondiente para un objeto AnonymousObjectCreationExpressionSyntax especificado.

GetDeclaredSymbol(SemanticModel, CatchStatementSyntax, CancellationToken)

Obtiene el localSymbol correspondiente para un catchStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, CollectionRangeVariableSyntax, CancellationToken)

Obtiene el RangeVariableSymbol correspondiente para un collectionRangeVariableSyntax especificado.

GetDeclaredSymbol(SemanticModel, DeclareStatementSyntax, CancellationToken)

Obtiene el símbolo correspondiente para un DeclareStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, DelegateStatementSyntax, CancellationToken)

Obtiene el namedTypeSymbol correspondiente para un delegateStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, EnumBlockSyntax, CancellationToken)

Obtiene el namedTypeSymbol correspondiente para un enumBlockSyntax especificado.

GetDeclaredSymbol(SemanticModel, EnumMemberDeclarationSyntax, CancellationToken)

Obtiene el fieldSymbol correspondiente para un enumMemberDeclarationSyntax especificado.

GetDeclaredSymbol(SemanticModel, EnumStatementSyntax, CancellationToken)

Obtiene el namedTypeSymbol correspondiente para un enumStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, EventBlockSyntax, CancellationToken)

Obtiene el eventSymbol correspondiente para un eventBlockSyntax especificado.

GetDeclaredSymbol(SemanticModel, EventStatementSyntax, CancellationToken)

Obtiene el eventSymbol correspondiente para un eventStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, ExpressionRangeVariableSyntax, CancellationToken)

Obtiene el RangeVariableSymbol correspondiente para un expressionRangeVariableSyntax especificado.

GetDeclaredSymbol(SemanticModel, FieldInitializerSyntax, CancellationToken)

Obtiene el PropertySymbol correspondiente para un FieldInitializerSyntax especificado.

GetDeclaredSymbol(SemanticModel, LabelStatementSyntax, CancellationToken)

Obtiene el labelSymbol correspondiente para un LabelStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, MethodBlockBaseSyntax, CancellationToken)

Obtiene el MethodSymbol correspondiente para un MethodBlockBaseSyntax especificado.

GetDeclaredSymbol(SemanticModel, MethodStatementSyntax, CancellationToken)

Obtiene el MethodSymbol correspondiente para un MethodStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, ModifiedIdentifierSyntax, CancellationToken)

Obtiene el símbolo correspondiente para un identificador especificado.

GetDeclaredSymbol(SemanticModel, NamespaceBlockSyntax, CancellationToken)

Obtiene el namespaceSymbol correspondiente para un namespaceBlockSyntax especificado.

GetDeclaredSymbol(SemanticModel, NamespaceStatementSyntax, CancellationToken)

Obtiene el namespaceSymbol correspondiente para un namespaceStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, OperatorStatementSyntax, CancellationToken)

Obtiene el MethodSymbol correspondiente para un OperatorStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, ParameterSyntax, CancellationToken)

Obtiene el parameterSymbol correspondiente para un parameterSyntax especificado.

GetDeclaredSymbol(SemanticModel, PropertyBlockSyntax, CancellationToken)

Obtiene el PropertySymbol correspondiente para un PropertyBlockSyntax especificado.

GetDeclaredSymbol(SemanticModel, PropertyStatementSyntax, CancellationToken)

Obtiene el PropertySymbol correspondiente para un PropertyStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, SimpleImportsClauseSyntax, CancellationToken)

Obtiene el AliasSymbol correspondiente para un AliasImportsClauseSyntax especificado.

GetDeclaredSymbol(SemanticModel, SubNewStatementSyntax, CancellationToken)

Obtiene el MethodSymbol correspondiente para un SubNewStatementSyntax especificado.

GetDeclaredSymbol(SemanticModel, TupleElementSyntax, CancellationToken)

Obtiene el símbolo correspondiente para un elemento de tupla especificado.

GetDeclaredSymbol(SemanticModel, TypeBlockSyntax, CancellationToken)

Obtiene el namedTypeSymbol correspondiente para un TypeBlockSyntax especificado.

GetDeclaredSymbol(SemanticModel, TypeParameterSyntax, CancellationToken)

Obtiene el símbolo TypeParameterSymbol correspondiente para un TypeParameterSyntax especificado.

GetDeclaredSymbol(SemanticModel, TypeStatementSyntax, CancellationToken)

Obtiene el namedTypeSymbol correspondiente para un TypeStatementSyntax especificado.

GetForEachStatementInfo(SemanticModel, ForEachBlockSyntax)

Obtiene el ForEachStatementInfo correspondiente que contiene información semántica para un ForBlockSyntax especificado.

GetForEachStatementInfo(SemanticModel, ForEachStatementSyntax)

Obtiene el ForEachStatementInfo correspondiente que contiene información semántica para un ForEachStatementSyntax especificado.

GetMemberGroup(SemanticModel, AttributeSyntax, CancellationToken)

Obtiene la propiedad ImmutableArray de símbolos correspondiente para un attributeSyntax especificado.

GetMemberGroup(SemanticModel, ExpressionSyntax, CancellationToken)

Obtiene la propiedad ImmutableArray de símbolos correspondiente para un expressionSyntax especificado.

GetPreprocessingSymbolInfo(SemanticModel, IdentifierNameSyntax)

Si el nodo especificado está dentro de una directiva de preprocesamiento, obtiene la información del símbolo de preprocesamiento para él.

GetSpeculativeAliasInfo(SemanticModel, Int32, IdentifierNameSyntax, SpeculativeBindingOption)

Enlaza el nombre en el contexto de la ubicación especificada y ve si se resuelve en un nombre de alias. Si es así, devuelve el aliasSymbol correspondiente a él. De lo contrario, devuelve null.

GetSpeculativeConversion(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

GetSpeculativeMemberGroup(SemanticModel, Int32, ExpressionSyntax)

Obtiene la propiedad ImmutableArray de símbolos correspondiente para una especulación de un expressionSyntax en una posición determinada, utilizada en información semántica para los elementos que no aparecen en el código fuente.

GetSpeculativeSymbolInfo(SemanticModel, Int32, AttributeSyntax)

Obtiene el symbolInfo correspondiente que contiene información semántica para el attributeSyntax especificado en una posición determinada, que se usa en información semántica para los elementos que no aparecen en el código fuente.

GetSpeculativeSymbolInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Obtiene el symbolInfo correspondiente que contiene información semántica para un attributeSyntax especificado.

GetSpeculativeTypeInfo(SemanticModel, Int32, ExpressionSyntax, SpeculativeBindingOption)

Obtiene el TypeInfo correspondiente que contiene información semántica para una especulación de un expressionSyntax en una posición determinada, utilizada en información semántica para los elementos que no aparecen en el código fuente.

GetSymbolInfo(SemanticModel, AttributeSyntax, CancellationToken)

Obtiene el symbolInfo correspondiente que contiene información semántica para un attributeSyntax especificado.

GetSymbolInfo(SemanticModel, CrefReferenceSyntax, CancellationToken)

Obtiene el symbolInfo correspondiente que contiene información semántica para un crefReferenceSyntax especificado.

GetSymbolInfo(SemanticModel, ExpressionRangeVariableSyntax, CancellationToken)

Devuelve el método Select asociado a ExpressionRangeVariableSyntax dentro de , LetClauseSyntaxo Microsoft.CodeAnalysis.SymbolInfo.None de lo contrario, si no hay ninguno.

GetSymbolInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Obtiene el symbolInfo correspondiente que contiene información semántica para un expressionSyntax especificado.

GetSymbolInfo(SemanticModel, FunctionAggregationSyntax, CancellationToken)

Devuelve la función de agregado asociada a FunctionAggregationSyntax.

GetSymbolInfo(SemanticModel, OrderingSyntax, CancellationToken)

Devuelve el método OrderBy/OrderByDescending/ThenBy/ThenByDescending asociado a OrderingSyntax.

GetSymbolInfo(SemanticModel, QueryClauseSyntax, CancellationToken)

Devuelve información de símbolos para una cláusula de consulta.

GetTypeInfo(SemanticModel, AttributeSyntax, CancellationToken)

Obtiene el TypeInfo correspondiente que contiene información semántica para un attributeSyntax especificado.

GetTypeInfo(SemanticModel, ExpressionSyntax, CancellationToken)

Permite formular preguntas semánticas sobre un árbol de nodos de sintaxis en una compilación. Normalmente, una instancia se obtiene mediante una llamada a GetBinding en una compilación o compilación.

OptionCompareText(SemanticModel)

Obtiene la propiedad Semantic Model OptionCompareText.

OptionExplicit(SemanticModel)

Obtiene la propiedad Semantic Model OptionExplicit.

OptionInfer(SemanticModel)

Obtiene la propiedad Semantic Model OptionInfer.

OptionStrict(SemanticModel)

Obtiene la propiedad Semantic Model OptionStrict.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, AttributeSyntax, SemanticModel)

Obtiene semanticModel para un attributeSyntax en una posición determinada, que se usa en información semántica para los elementos que no aparecen en el código fuente.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, EqualsValueSyntax, SemanticModel)

Obtiene semanticModel para equalsValueSyntax en una posición determinada, que se usa en información semántica para los elementos que no aparecen en el código fuente.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, ExecutableStatementSyntax, SemanticModel)

Obtiene semanticModel para un objeto ExecutableStatementSyntax en una posición determinada, que se usa en información semántica para los elementos que no aparecen en el código fuente.

TryGetSpeculativeSemanticModel(SemanticModel, Int32, RangeArgumentSyntax, SemanticModel)

Obtiene semanticModel para un RangeArgumentSyntax en una posición determinada, que se usa en información semántica para los elementos que no aparecen en el código fuente.

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

Obtiene semanticModel para un typeSyntax en una posición determinada, que se usa en información semántica para los elementos que no aparecen en el código fuente.

TryGetSpeculativeSemanticModelForMethodBody(SemanticModel, Int32, MethodBlockBaseSyntax, SemanticModel)

Obtiene semanticModel para un MethodBlockBaseSyntax en una posición determinada, que se usa en información semántica para los elementos que no aparecen en el código fuente.

Se aplica a