Partager via


IMetaDataEmit::DefineTypeDef, méthode

Crée une définition de type pour un type de Common Language Runtime, puis obtient un jeton de métadonnées pour cette définition de type.

Syntaxe

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

Paramètres

szTypeDef
[in] Nom du type en Unicode.

dwTypeDefFlags
[in] Attributs TypeDef. Il s’agit d’un masque de bits de valeurs CoreTypeAttr.

tkExtends
[in] Jeton de la classe de base. Il doit s’agir d’un mdTypeDef ou d’un jeton mdTypeRef.

rtkImplements
[in] Tableau de jetons qui spécifient les interfaces que cette classe ou cette interface implémente.

ptd
[out] Jeton mdTypeDef affecté.

Notes

Un indicateur dans dwTypeDefFlags spécifie si le type créé est un type référence de système de type commun (CTS, Common Type System) (classe ou interface) ou un type de valeur CTS.

Selon les paramètres fournis, cette méthode a éventuellement pour effet de créer aussi un enregistrement mdInterfaceImpl pour chaque interface héritée ou implémentée par ce type. Toutefois, cette méthode ne retourne aucun de ces jetons mdInterfaceImpl. Si un client veut ajouter ou modifier un jeton mdInterfaceImpl ultérieurement, il doit utiliser l’interface IMetaDataImport pour les énumérer. Si vous voulez utiliser la sémantique COM de l’interface [default], vous devez fournir l’interface par défaut comme premier élément dans rtkImplements. Un attribut personnalisé défini sur la classe va indiquer que la classe a une interface par défaut (qui est toujours supposée être le premier jeton mdInterfaceImpl déclaré pour la classe).

Chaque élément du tableau rtkImplements contient un jeton mdTypeDef ou mdTypeRef. Le dernier élément du tableau doit être mdTokenNil.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : Cor.h

Bibliothèque : Utilisée comme ressource dans MSCorEE.dll

Versions de .NET Framework : Disponible à partir de la version 1.0

Voir aussi