TypeMapAttribute<TTypeMapGroup> Classe

Definizione

Rappresenta un attributo che definisce il mapping dei tipi tra una stringa e un 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

Parametri di tipo

TTypeMapGroup

Tipo del gruppo di mappe dei tipi.

Ereditarietà
TypeMapAttribute<TTypeMapGroup>
Attributi

Commenti

È possibile fare riferimento ai tipi coinvolti nelle operazioni di interoperabilità non gestite in un TypeMapAttribute<TTypeMapGroup> attributo assembly che dichiara il nome del sistema di tipi esterni, un tipo di destinazione e facoltativamente una "destinazione di taglio" per determinare se il tipo di destinazione deve essere incluso nella mappa. Se viene usato il costruttore che non accetta una destinazione di taglio, la voce viene sempre generata nella mappa dei tipi.

Quando un'applicazione viene tagliata, viene inclusa una voce nella mappa dei tipi esterni quando viene fatto riferimento al tipo di destinazione "trim" in uno dei modi seguenti nel codice raggiungibile:

  • Argomento dell'istruzione ldtoken IL.
  • Argomento dell'istruzione unbox IL.
  • Argomento dell'istruzione unbox.any IL.
  • Argomento dell'istruzione isinst IL.
  • Argomento dell'istruzione castclass IL.
  • Argomento dell'istruzione box . Se lo strumento di taglio può determinare che questa casella non esegue l'escape e potrebbe essere allocata, può ignorare questa box istruzione ed eventuali istruzioni o unbox.any corrispondentiunbox.
  • Argomento dell'istruzione mkrefany .
  • Argomento dell'istruzione refanyval .
  • Argomento dell'istruzione newarr .
  • Tipo di un argomento del metodo per l'istruzione newobj se si tratta di un tipo di classe.
  • Tipo proprietario di un argomento del metodo di istanza su call o ldftnoppure il tipo proprietario di qualsiasi argomento del metodo a callvirt o ldvirtftn. Se il tipo proprietario è un'interfaccia e lo strumento di taglio può determinare che è presente una sola implementazione dell'interfaccia, è possibile interpretare l'argomento del token del metodo come se fosse il metodo sull'unico tipo di implementazione.
  • Argomento generico per il CreateInstance<T>() metodo .
  • Chiama a Type.GetType con una stringa costante che rappresenta il nome del tipo.

Molte di queste istruzioni possono essere passate a un parametro generico. In tal caso, lo strumento di taglio deve considerare gli argomenti di tipo delle istanze di quel tipo come aver soddisfatto una di queste regole e includere tutte le voci con tali tipi come tipi di "trim target".

Importante

I mapping chiave/valore in conflitto non sono consentiti.

Note

Il formato sottostante delle mappe prodotte è definito dall'implementazione. Diversi .NET fattori di forma possono usare formati diversi. Inoltre, non è garantito che gli TypeMapAttribute<TTypeMapGroup>attributi , TypeMapAssociationAttribute<TTypeMapGroup>e TypeMapAssemblyTargetAttribute<TTypeMapGroup> siano presenti nell'immagine finale dopo l'esecuzione di uno strumento di taglio.

Costruttori

Nome Descrizione
TypeMapAttribute<TTypeMapGroup>(String, Type, Type)

Inizializza una nuova istanza di TypeMapAttribute<TTypeMapGroup>.

TypeMapAttribute<TTypeMapGroup>(String, Type)

Inizializza una nuova istanza di TypeMapAttribute<TTypeMapGroup>.

Proprietà

Nome Descrizione
TypeId

Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute.

(Ereditato da Attribute)

Metodi

Nome Descrizione
Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per questa istanza.

(Ereditato da Attribute)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

Quando sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a