TypeMapAttribute<TTypeMapGroup> Classe

Definição

Representa um atributo que define o mapeamento de tipos entre uma cadeia e um tipo.

generic <typename TTypeMapGroup>
public ref class TypeMapAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class TypeMapAttribute<TTypeMapGroup> : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)>]
type TypeMapAttribute<'ypeMapGroup> = class
    inherit Attribute
Public NotInheritable Class TypeMapAttribute(Of TTypeMapGroup)
Inherits Attribute

Parâmetros de Tipo Genérico

TTypeMapGroup

O tipo do grupo de mapas de tipos.

Herança
TypeMapAttribute<TTypeMapGroup>
Atributos

Observações

Os tipos envolvidos em operações de interoperabilidade não gerida para gerida podem ser referenciados num TypeMapAttribute<TTypeMapGroup> atributo assembly que declara o nome externo do sistema de tipos, um tipo de alvo e, opcionalmente, um "alvo de trim" para determinar se o tipo de alvo deve ser incluído no mapa. Se for usado o construtor que não aceita um alvo de trim, a entrada é sempre emitida no mapa de tipos.

Quando uma aplicação é cortada, uma entrada no Mapa de Tipos Externo é incluída quando o tipo "alvo de trim" é referenciado de uma das seguintes formas em código acessível:

  • O argumento à ldtoken instrução do IL.
  • O argumento à unbox instrução do IL.
  • O argumento à unbox.any instrução do IL.
  • O argumento à isinst instrução do IL.
  • O argumento à castclass instrução do IL.
  • O argumento da box instrução. (Se a ferramenta de corte conseguir determinar que esta caixa não escapa e pode ser alocada por pilha, pode ignorar esta box instrução e quaisquer instruções correspondentes unboxunbox.any .)
  • O argumento da mkrefany instrução.
  • O argumento da refanyval instrução.
  • O argumento da newarr instrução.
  • O tipo de argumento de método para a newobj instrução se for um tipo de classe.
  • O tipo de posse de um argumento de método de instância para call ou ldftn, ou o tipo de posse de qualquer argumento de método para callvirt ou ldvirtftn. Se o tipo proprietário for uma interface e a ferramenta de corte conseguir determinar que só existe uma implementação da interface, é livre interpretar o argumento do token do método como se fosse o único tipo de implementação.
  • O argumento genérico do CreateInstance<T>() método.
  • Chamadas para Type.GetType com uma string constante que representa o nome do tipo.

Muitas destas instruções podem receber um parâmetro genérico. Nesse caso, a ferramenta de corte deve considerar os argumentos de tipo das instâncias desse tipo como tendo cumprido uma destas regras e incluir quaisquer entradas com esses tipos como tipos "alvo de corte".

Importante

Mapeamentos conflitantes de chaves/valores não são permitidos.

Note

O formato subjacente dos mapas produzidos é definido pela implementação. Diferentes formatos .NET podem usar formatos diferentes. Além disso, não é garantido que os TypeMapAttribute<TTypeMapGroup>atributos , TypeMapAssociationAttribute<TTypeMapGroup>, e TypeMapAssemblyTargetAttribute<TTypeMapGroup> estejam presentes na imagem final depois de uma ferramenta de corte ter sido executada.

Construtores

Name Description
TypeMapAttribute<TTypeMapGroup>(String, Type, Type)

Inicializa uma nova instância de TypeMapAttribute<TTypeMapGroup>.

TypeMapAttribute<TTypeMapGroup>(String, Type)

Inicializa uma nova instância de TypeMapAttribute<TTypeMapGroup>.

Propriedades

Name Description
TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a