ISymbol Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um símbolo (namespace, classe, método, parâmetro etc.) exposto pelo compilador.
public interface class ISymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>
public interface ISymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>
type ISymbol = interface
interface IEquatable<ISymbol>
Public Interface ISymbol
Implements IEquatable(Of ISymbol)
- Derivado
- Implementações
Comentários
Essa interface é reservada para implementação por suas APIs associadas. Reservamos o direito de alterá-lo no futuro.
Propriedades
| Nome | Description |
|---|---|
| CanBeReferencedByName |
Retornará true se esse símbolo puder ser referenciado por seu nome no código. |
| ContainingAssembly |
Obtém o IAssemblySymbol assembly que contém. Retornará nulo se o símbolo for compartilhado em vários assemblies. |
| ContainingModule |
Obtém o IModuleSymbol módulo que contém. Retornará nulo se o símbolo for compartilhado em vários módulos. |
| ContainingNamespace |
Obtém o INamespaceSymbol namespace de delimitamento mais próximo. Retornará nulo se o símbolo não estiver contido em um namespace. |
| ContainingSymbol |
Obtém o ISymbol símbolo que contém imediatamente. |
| ContainingType |
Obtém o INamedTypeSymbol tipo de contenção. Retornará nulo se o símbolo não estiver contido em um tipo. |
| DeclaredAccessibility |
Obtém uma Accessibility indicação da acessibilidade declarada para o símbolo. Retornará NotApplicable se nenhuma acessibilidade for declarada. |
| DeclaringSyntaxReferences |
Obtenha os nós de sintaxe em que esse símbolo foi declarado na origem. Alguns símbolos (por exemplo, tipos parciais, como classes, structs e interfaces) podem ser definidos em mais de um local. Essa propriedade deve retornar um ou mais nós de sintaxe somente se o símbolo tiver sido declarado no código-fonte e também não tiver sido declarado implicitamente (consulte a propriedade IsImplicitlyDeclared).
Observe que, para membros parciais (métodos, propriedades, eventos), essa propriedade retorna apenas um nó de sintaxe. Para obter todos os nós de sintaxe para um membro parcial, use as propriedades e Observe que, para o símbolo de namespace, a sintaxe de declaração pode estar declarando um namespace aninhado. Por exemplo, o nó de sintaxe de declaração para N1 em "namespace N1. N2 {...}" é toda a NamespaceDeclarationSyntax para N1. N2. Para o namespace global, a sintaxe de declaração será a CompilationUnitSyntax. |
| HasUnsupportedMetadata |
Indica que esse símbolo usa metadados que não têm suporte no idioma. Os exemplos incluem:
Isso é diferenciado de, por exemplo, referências a símbolos de metadados definidos em assemblies que não foram referenciados. Símbolos em que isso retorna true nunca podem ser usados com êxito e, portanto, nunca devem aparecer em nenhum recurso do IDE. Isso é definido para símbolos de metadados, da seguinte maneira:
|
| IsAbstract |
Obtém um valor que indica se o símbolo é abstrato. |
| IsDefinition |
Obtém um valor que indica se o símbolo é a definição original. Retornará false se o símbolo for derivado de outro símbolo, por substituição de tipo, por exemplo. |
| IsExtern |
Obtém um valor que indica se o símbolo é definido externamente. |
| IsImplicitlyDeclared |
Retornará true se esse símbolo tiver sido criado automaticamente pelo compilador e não tiver uma declaração de código-fonte correspondente explícita. |
| IsOverride |
Obtém um valor que indica se o símbolo é uma substituição de um símbolo de classe base. |
| IsSealed |
Obtém um valor que indica se o símbolo está lacrado. |
| IsStatic |
Obtém um valor que indica se o símbolo é estático. |
| IsVirtual |
Obtém um valor que indica se o símbolo é virtual. |
| Kind |
Obtém o SymbolKind que indica que tipo de símbolo ele é. |
| Language |
Obtém o idioma de origem ("C#" ou "Visual Basic"). |
| Locations |
Obtém os locais em que o símbolo foi originalmente definido, na origem ou nos metadados. Alguns símbolos (por exemplo, tipos parciais, como classes, structs e interfaces) podem ser definidos em mais de um local. Observe que, para membros parciais (como métodos, propriedades e eventos), essa propriedade retorna apenas um local. Para obter todos os locais de um membro parcial, use as propriedades IMethodSymbole |
| MetadataName |
Obtém o nome de um símbolo como ele aparece nos metadados. Na maioria das vezes, isso é o mesmo que a propriedade Name, com as seguintes exceções:
|
| MetadataToken |
Obtém o token de metadados associado a esse símbolo ou 0 se o símbolo não for carregado de metadados. |
| Name |
Obtém o nome do símbolo. Retorna a cadeia de caracteres vazia se não for nomeada. |
| OriginalDefinition |
Obtém a ISymbol definição original do símbolo. Se esse símbolo for derivado de outro símbolo, por substituição de tipo, por exemplo, ele obterá o símbolo original, como foi definido na origem ou nos metadados. |
Métodos
| Nome | Description |
|---|---|
| Accept(SymbolVisitor) |
Representa um símbolo (namespace, classe, método, parâmetro etc.) exposto pelo compilador. |
| Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument) |
Representa um símbolo (namespace, classe, método, parâmetro etc.) exposto pelo compilador. |
| Accept<TResult>(SymbolVisitor<TResult>) |
Representa um símbolo (namespace, classe, método, parâmetro etc.) exposto pelo compilador. |
| Equals(ISymbol, SymbolEqualityComparer) |
Determina se esse símbolo é igual a outro, de acordo com as regras do fornecido SymbolEqualityComparer |
| GetAttributes() |
Obtém os atributos do símbolo. Retornará um vazio ImmutableArray<T> se não houver atributos. |
| GetDocumentationCommentId() |
Retorna a ID de Comentário da Documentação para o símbolo ou nulo se o símbolo não oferecer suporte a comentários de documentação. |
| GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken) |
Obtém o XML (como texto) para o comentário associado ao símbolo. |
| ToDisplayParts(SymbolDisplayFormat) |
Converta um símbolo em uma matriz de partes de cadeia de caracteres, cada uma delas com um tipo. Útil para colorir a cadeia de caracteres de exibição. |
| ToDisplayString(SymbolDisplayFormat) |
Converte o símbolo em uma representação de cadeia de caracteres. |
| ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat) |
Converta um símbolo em uma matriz de partes de cadeia de caracteres, cada uma delas com um tipo. Pode ser adaptado para um local específico no código-fonte. Útil para colorir a cadeia de caracteres de exibição. |
| ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat) |
Converta um símbolo em uma cadeia de caracteres que pode ser exibida para o usuário. Pode ser adaptado para um local específico no código-fonte. |
Métodos de Extensão
| Nome | Description |
|---|---|
| IsMustOverride(ISymbol) |
Representa um símbolo (namespace, classe, método, parâmetro etc.) exposto pelo compilador. |
| IsNotOverridable(ISymbol) |
Representa um símbolo (namespace, classe, método, parâmetro etc.) exposto pelo compilador. |
| IsOverridable(ISymbol) |
Representa um símbolo (namespace, classe, método, parâmetro etc.) exposto pelo compilador. |
| IsOverrides(ISymbol) |
Representa um símbolo (namespace, classe, método, parâmetro etc.) exposto pelo compilador. |
| IsShared(ISymbol) |
Determina se o símbolo é Compartilhado. |