Compartilhar via


INamedTypeSymbol Interface

Definição

Representa um tipo diferente de uma matriz, um ponteiro, um parâmetro de tipo.

public interface class INamedTypeSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::ITypeSymbol
public interface INamedTypeSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.ITypeSymbol
type INamedTypeSymbol = interface
    interface ITypeSymbol
    interface INamespaceOrTypeSymbol
    interface ISymbol
    interface IEquatable<ISymbol>
Public Interface INamedTypeSymbol
Implements IEquatable(Of ISymbol), ITypeSymbol
Derivado
Implementações

Comentários

Essa interface é reservada para implementação por suas APIs associadas. Reservamo-nos o direito de mudá-lo no futuro.

Propriedades

AllInterfaces

A lista de todas as interfaces das quais esse tipo é um subtipo declarado, excluindo esse tipo em si. Isso inclui todas as interfaces base declaradas, todas as interfaces base declaradas de tipos base e todas as interfaces base declaradas desses resultados (recursivamente). Esse também é o conjunto de interface efetivo de um parâmetro de tipo. Cada resultado aparece exatamente uma vez na lista. Essa lista é classificada topologicamente pela relação de herança: se o tipo de interface A estende o tipo de interface B, A precede B na lista. Isso não é exatamente o mesmo que "todas as interfaces das quais esse tipo é um subtipo adequado" porque não leva em conta a variação: AllInterfaces para cadeia de caracteres IEnumerable<> não incluirá o objeto> IEnumerable<.

(Herdado de ITypeSymbol)
Arity

Retorna a aridade desse tipo ou o número de parâmetros de tipo que ele usa. Um tipo não genérico tem aridade zero.

AssociatedSymbol

Para tipos de delegado declarados implicitamente, retorna o EventSymbol que fez com que esse tipo de delegado fosse gerado. Para todos os outros tipos retorna nulo. Observe que o conjunto de possíveis símbolos associados pode ser expandido no futuro para refletir as alterações nos idiomas.

BaseType

O tipo base declarado desse tipo ou nulo. O tipo de objeto, os tipos de interface e os tipos de ponteiro não têm um tipo base. O tipo base de um parâmetro de tipo é sua classe base efetiva.

(Herdado de ITypeSymbol)
CanBeReferencedByName

Retornará true se esse símbolo puder ser referenciado por seu nome no código.

(Herdado de ISymbol)
ConstructedFrom

Retorna o símbolo de tipo do qual esse tipo foi construído. Esse símbolo de tipo tem o mesmo tipo de contenção (se houver), mas tem argumentos de tipo que são iguais aos parâmetros de tipo (embora seu tipo de contenção possa não ser).

Constructors

Obtenha os construtores estáticos e de instância para esse tipo.

ContainingAssembly

Obtém o IAssemblySymbol para o assembly que contém. Retornará nulo se o símbolo for compartilhado entre vários assemblies.

(Herdado de ISymbol)
ContainingModule

Obtém o IModuleSymbol para o módulo que contém. Retornará nulo se o símbolo for compartilhado em vários módulos.

(Herdado de ISymbol)
ContainingNamespace

Obtém o INamespaceSymbol para o namespace delimitamento mais próximo. Retornará nulo se o símbolo não estiver contido em um namespace.

(Herdado de ISymbol)
ContainingSymbol

Obtém o ISymbol para o símbolo que contém imediatamente.

(Herdado de ISymbol)
ContainingType

Obtém o INamedTypeSymbol para o tipo que contém. Retornará nulo se o símbolo não estiver contido em um tipo.

(Herdado de ISymbol)
DeclaredAccessibility

Obtém um Accessibility que indica a acessibilidade declarada para o símbolo. Retornará NotApplicable se nenhuma acessibilidade for declarada.

(Herdado de ISymbol)
DeclaringSyntaxReferences

Obtenha os nós de sintaxe em que esse símbolo foi declarado na origem. Alguns símbolos (por exemplo, classes parciais) 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 o símbolo de namespace, a sintaxe de declaração pode estar declarando um namespace aninhado. Por exemplo, o nó de sintaxe declarado para N1 em "namespace N1. N2 {...}" é toda a NamespaceDeclarationSyntax para N1. N2. Para o namespace global, a sintaxe de declaração será a CompilationUnitSyntax.

(Herdado de ISymbol)
DelegateInvokeMethod

Para tipos delegados, obtém o método de invocação do delegado. Retorna nulo em todos os outros tipos de tipos. Observe que é possível ter um tipo delegado mal formado importado de metadados que não tem um método Invoke. Esse tipo será classificado como um delegado, mas seu DelegateInvokeMethod seria nulo.

EnumUnderlyingType

Para tipos de enumeração, obtém o tipo subjacente. Retorna nulo em todos os outros tipos de tipos.

HasUnsupportedMetadata

Indica que esse símbolo usa metadados que não podem ter suporte no idioma.

Os exemplos incluem:

  • Tipos de ponteiro no VB
  • Tipo de retorno ByRef
  • Modificadores personalizados necessários

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 IDE.

Isso é definido para símbolos de metadados, da seguinte maneira:

  • Tipo – se um tipo não tiver suporte (por exemplo, um tipo de ponteiro)
  • Método – o parâmetro ou o tipo de retorno não tem suporte
  • Campo – o tipo não tem suporte
  • Evento – o tipo não tem suporte
  • Propriedade – o tipo não tem suporte
  • Parâmetro – o tipo não tem suporte

(Herdado de ISymbol)
InstanceConstructors

Obtenha os construtores de instância para esse tipo.

Interfaces

Obtém o conjunto de interfaces que esse tipo implementa diretamente. Esse conjunto não inclui interfaces que são interfaces base de interfaces implementadas diretamente. Isso inclui as interfaces declaradas como restrições em parâmetros de tipo.

(Herdado de ITypeSymbol)
IsAbstract

Obtém um valor que indica se o símbolo é abstrato.

(Herdado de ISymbol)
IsAnonymousType

Esse é um símbolo para um tipo anônimo (incluindo o delegado anônimo do VB).

(Herdado de ITypeSymbol)
IsComImport

Especifica que a classe ou interface é importada de outro módulo. Consulte Import e ComImportAttribute.

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.

(Herdado de ISymbol)
IsExtern

Obtém um valor que indica se o símbolo é definido externamente.

(Herdado de ISymbol)
IsFileLocal

Indica que o tipo é declarado na origem e só é visível no arquivo em que é declarado.

IsGenericType

True se esse tipo ou algum tipo que contém tiver parâmetros de tipo.

IsImplicitClass

Retornará true se o tipo for a classe implícita que se mantém em membros globais inválidos (como métodos ou instruções em um arquivo não script).

IsImplicitlyDeclared

Retorna true se esse símbolo foi criado automaticamente pelo compilador e não tem uma declaração de código-fonte correspondente explícita.

(Herdado de ISymbol)
IsNamespace

Retornará true se esse símbolo for um namespace. Se não for um namespace, ele deverá ser um tipo.

(Herdado de INamespaceOrTypeSymbol)
IsNativeIntegerType

True se o tipo representar um inteiro nativo. Em C#, os tipos representados pelas palavras-chave de linguagem 'nint' e 'nuint'.

(Herdado de ITypeSymbol)
IsOverride

Obtém um valor que indica se o símbolo é uma substituição de um símbolo de classe base.

(Herdado de ISymbol)
IsReadOnly

True se o tipo for somente leitura.

(Herdado de ITypeSymbol)
IsRecord

Para símbolos de origem, true se o tipo for um registro. Para símbolos de metadados, true se o tipo for um registro e um tipo de referência.

(Herdado de ITypeSymbol)
IsReferenceType

True se esse tipo é conhecido por ser um tipo de referência. Nunca é o caso em que IsReferenceType e IsValueType ambos retornam true. No entanto, para um parâmetro de tipo irrestrito, IsReferenceType e IsValueType ambos retornarão false.

(Herdado de ITypeSymbol)
IsRefLikeType

True se o tipo for ref-like, o que significa que ele segue regras semelhantes às variáveis CLR by-ref. False se o tipo não for ref-like ou se a linguagem não tiver nenhum conceito de tipos ref-like.

(Herdado de ITypeSymbol)
IsScriptClass

Retornará true se o tipo for uma classe Script. Pode ser uma classe de envio interativa ou uma classe Script em um arquivo csx.

IsSealed

Obtém um valor que indica se o símbolo está lacrado.

(Herdado de ISymbol)
IsSerializable

True se o tipo for serializável (tem o sinalizador de metadados serializável).

IsStatic

Obtém um valor que indica se o símbolo é estático.

(Herdado de ISymbol)
IsTupleType

Esse é um símbolo para uma tupla .

(Herdado de ITypeSymbol)
IsType

Retornará true se esses símbolos forem de um tipo. Se não for um tipo, ele deverá ser um namespace.

(Herdado de INamespaceOrTypeSymbol)
IsUnboundGenericType

True se essa for uma referência a um tipo genérico não associado . Um tipo genérico será considerado não associado se todas as listas de argumentos de tipo em seu nome totalmente qualificado estiverem vazias. Observe que os argumentos de tipo de um tipo genérico não associado serão retornados como tipos de erro porque eles realmente não têm argumentos de tipo. Um tipo genérico não associado produz nulo para seu BaseType e um resultado vazio para suas Interfaces.

IsUnmanagedType

True se o tipo não for gerenciado de acordo com as regras de linguagem. False se gerenciado ou se a linguagem não tiver nenhum conceito de tipos não gerenciados.

(Herdado de ITypeSymbol)
IsValueType

True se esse tipo for conhecido por ser um tipo de valor. Nunca é o caso em que IsReferenceType e IsValueType ambos retornam true. No entanto, para um parâmetro de tipo irrestrito, IsReferenceType e IsValueType ambos retornarão false.

(Herdado de ITypeSymbol)
IsVirtual

Obtém um valor que indica se o símbolo é virtual.

(Herdado de ISymbol)
Kind

Obtém o SymbolKind que indica que tipo de símbolo ele é.

(Herdado de ISymbol)
Language

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

(Herdado de ISymbol)
Locations

Obtém os locais em que o símbolo foi originalmente definido, seja na origem ou nos metadados. Alguns símbolos (por exemplo, classes parciais) podem ser definidos em mais de um local.

(Herdado de ISymbol)
MemberNames

Retorna uma coleção de nomes de membros declarados dentro desse tipo.

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:

  1. O nome dos metadados de tipos genéricos inclui o sufixo "'1", "'2" etc. que indica o número de parâmetros de tipo (ele não inclui, no entanto, nomes de tipos ou namespaces que contêm).
  2. O nome dos metadados de nomes de interface explícitos tem espaços removidos, em comparação com a propriedade name.
  3. O comprimento dos nomes é limitado a não exceder as restrições de metadados.
(Herdado de ISymbol)
MetadataToken

Obtém o token de metadados associado a esse símbolo ou 0 se o símbolo não for carregado dos metadados.

(Herdado de ISymbol)
MightContainExtensionMethods

Determina se o símbolo pode conter métodos de extensão. Se for falso, o símbolo não conterá métodos de extensão.

Name

Obtém o nome do símbolo. Retorna a cadeia de caracteres vazia se não for nomeada.

(Herdado de ISymbol)
NativeIntegerUnderlyingType

Se esse for um inteiro nativo, retornará o símbolo para o tipo subjacente, seja IntPtr ou UIntPtr. Caso contrário, retornará nulo.

NullableAnnotation

Anotação anulável associada ao tipo ou None se não houver nenhuma.

(Herdado de ITypeSymbol)
OriginalDefinition

Obtenha a definição original desse símbolo de tipo. Se esse símbolo for derivado de outro símbolo por (digamos) substituição de tipo, ele obterá o símbolo original, como foi definido na origem ou nos metadados.

SpecialType

Um valor enumerado que identifica determinados tipos "especiais", como Object. Retornará None se o tipo não for especial.

(Herdado de ITypeSymbol)
StaticConstructors

Obtenha os construtores estáticos para esse tipo.

TupleElements

Retorna campos que representam elementos de tupla para tipos que são tuplas.

Se esse tipo não for uma tupla, retornará o padrão.

TupleUnderlyingType

Se esse for um tipo de tupla com nomes de elemento, retornará o símbolo para o tipo de tupla sem nomes. Caso contrário, retornará nulo. O argumento type correspondente ao tipo do campo de extensão (VT[8]. Rest), que está na 8ª posição (uma baseada) é sempre um símbolo para outra tupla, em vez de seu tipo subjacente.

TypeArgumentNullableAnnotations

Retorna a nulidade de nível superior dos argumentos de tipo que foram substituídos pelos parâmetros de tipo. Se nada tiver sido substituído por um determinado parâmetro de tipo, será None retornado para esse argumento de tipo.

TypeArguments

Retorna os argumentos de tipo que foram substituídos pelos parâmetros de tipo. Se nada tiver sido substituído por um determinado parâmetro de tipo, o próprio parâmetro de tipo será considerado o argumento de tipo.

TypeArgumentsNullableAnnotations

Retorna a nulidade de nível superior dos argumentos de tipo que foram substituídos pelos parâmetros de tipo. Se nada tiver sido substituído por um determinado parâmetro de tipo, será NotApplicable retornado para esse argumento de tipo.

TypeKind

Um valor enumerado que identifica se esse tipo é uma matriz, ponteiro, enumeração e assim por diante.

(Herdado de ITypeSymbol)
TypeParameters

Retorna os parâmetros de tipo que esse tipo tem. Se esse for um tipo não genérico, retornará uma ImmutableArray vazia.

Métodos

Accept(SymbolVisitor)

Representa um tipo diferente de uma matriz, um ponteiro, um parâmetro de tipo.

(Herdado de ISymbol)
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

Representa um tipo diferente de uma matriz, um ponteiro, um parâmetro de tipo.

(Herdado de ISymbol)
Accept<TResult>(SymbolVisitor<TResult>)

Representa um tipo diferente de uma matriz, um ponteiro, um parâmetro de tipo.

(Herdado de ISymbol)
Construct(ImmutableArray<ITypeSymbol>, ImmutableArray<NullableAnnotation>)

Retorna um tipo construído considerando seus argumentos de tipo e anotações anuláveis de argumento de tipo.

Construct(ITypeSymbol[])

Retorna um tipo construído dado seus argumentos de tipo.

ConstructUnboundGenericType()

Retorna um tipo genérico não associado desse tipo nomeado.

Equals(ISymbol, SymbolEqualityComparer)

Determina se esse símbolo é igual a outro, de acordo com as regras do fornecido SymbolEqualityComparer

(Herdado de ISymbol)
FindImplementationForInterfaceMember(ISymbol)

Retorna o símbolo correspondente nesse tipo ou um tipo base que implementa interfaceMember (implicitamente ou explicitamente) ou nulo se nenhum símbolo desse tipo existir (o que pode ser porque esse tipo não implementa o contêiner de interfaceMember ou esse tipo não fornece um membro que implementa interfaceMember com êxito).

(Herdado de ITypeSymbol)
GetAttributes()

Obtém os atributos do símbolo. Retornará um vazio IEnumerable<T> se não houver atributos.

(Herdado de ISymbol)
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.

(Herdado de ISymbol)
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

Obtém o XML (como texto) para o comentário associado ao símbolo.

(Herdado de ISymbol)
GetMembers()

Obtenha todos os membros desse símbolo.

(Herdado de INamespaceOrTypeSymbol)
GetMembers(String)

Obtenha todos os membros desse símbolo que têm um nome específico.

(Herdado de INamespaceOrTypeSymbol)
GetTypeArgumentCustomModifiers(Int32)

Retorna modificadores personalizados para o argumento de tipo que foi substituído pelo parâmetro de tipo. Os modificadores correspondem ao argumento de tipo no mesmo ordinal dentro da TypeArguments matriz. Retornará uma matriz vazia se não houver modificadores.

GetTypeMembers()

Obtenha todos os membros desse símbolo que são tipos.

(Herdado de INamespaceOrTypeSymbol)
GetTypeMembers(String)

Obtenha todos os membros desse símbolo que são tipos que têm um nome específico, de qualquer arity.

(Herdado de INamespaceOrTypeSymbol)
GetTypeMembers(String, Int32)

Obter todos os membros desse símbolo que são tipos que têm um nome e arity específicos

(Herdado de INamespaceOrTypeSymbol)
ToDisplayParts(NullableFlowState, SymbolDisplayFormat)

Converte 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.

(Herdado de ITypeSymbol)
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.

(Herdado de ISymbol)
ToDisplayString(NullableFlowState, SymbolDisplayFormat)

Converte um ITypeSymbol e um estado de fluxo anulável em uma representação de cadeia de caracteres.

(Herdado de ITypeSymbol)
ToDisplayString(SymbolDisplayFormat)

Converte o símbolo em uma representação de cadeia de caracteres.

(Herdado de ISymbol)
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.

(Herdado de ISymbol)
ToMinimalDisplayParts(SemanticModel, NullableFlowState, 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.

(Herdado de ITypeSymbol)
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.

(Herdado de ISymbol)
ToMinimalDisplayString(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

Converte 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.

(Herdado de ITypeSymbol)
WithNullableAnnotation(NullableAnnotation)

Retorna o mesmo tipo desse tipo, mas com a anotação anulável fornecida.

(Herdado de ITypeSymbol)

Métodos de Extensão

IsMustOverride(ISymbol)

Representa um tipo diferente de uma matriz, um ponteiro, um parâmetro de tipo.

IsNotOverridable(ISymbol)

Representa um tipo diferente de uma matriz, um ponteiro, um parâmetro de tipo.

IsOverridable(ISymbol)

Representa um tipo diferente de uma matriz, um ponteiro, um parâmetro de tipo.

IsOverrides(ISymbol)

Representa um tipo diferente de uma matriz, um ponteiro, um parâmetro de tipo.

IsShared(ISymbol)

Determina se o símbolo é Compartilhado.

Aplica-se a