Share via


Metodo IMetaDataEmit::DefineTypeDef

Crea una definizione di tipo per un tipo Common Language Runtime e ottiene un token di metadati per tale definizione di tipo.

Sintassi

HRESULT DefineTypeDef (
    [in]  LPCWSTR     szTypeDef,
    [in]  DWORD       dwTypeDefFlags,
    [in]  mdToken     tkExtends,
    [in]  mdToken     rtkImplements[],
    [out] mdTypeDef   *ptd  
);  

Parametri

szTypeDef
[in] Nome del tipo in Unicode.

dwTypeDefFlags
[in] TypeDef Attributi. Si tratta di una maschera di bit di CoreTypeAttr valori.

tkExtends
[in] Token della classe di base. Deve essere un mdTypeDef token o mdTypeRef .

rtkImplements
[in] Matrice di token che specifica le interfacce implementate da questa classe o interfaccia.

ptd
[out] Token mdTypeDef assegnato.

Commenti

Un flag in dwTypeDefFlags specifica se il tipo creato è un tipo di riferimento di sistema di tipo comune (classe o interfaccia) o un tipo di valore di sistema di tipi comune.

A seconda dei parametri forniti, questo metodo, come effetto collaterale, può anche creare un mdInterfaceImpl record per ogni interfaccia ereditata o implementata da questo tipo. Tuttavia, questo metodo non restituisce nessuno di questi mdInterfaceImpl token. Se un client vuole aggiungere o modificare un mdInterfaceImpl token in un secondo momento, deve usare l'interfaccia IMetaDataImport per enumerarle. Se si desidera utilizzare la semantica COM dell'interfaccia [default] , è necessario specificare l'interfaccia predefinita come primo elemento in rtkImplements. Un attributo personalizzato impostato nella classe indicherà che la classe ha un'interfaccia predefinita ,che viene sempre considerata il primo mdInterfaceImpl token dichiarato per la classe .

Ogni elemento della rtkImplements matrice contiene un mdTypeDef token o mdTypeRef . L'ultimo elemento nella matrice deve essere mdTokenNil.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: Cor.h

Libreria: Usato come risorsa in MSCorEE.dll

Versioni di .NET Framework: Disponibile dalla versione 1.0

Vedi anche