Partager via


CorElementType, énumération

Spécifie un Type du Common Language Runtime, un modificateur de type ou des informations sur un type dans une signature de type de métadonnées.

typedef enum CorElementType {
    ELEMENT_TYPE_END            = 0x0,
    ELEMENT_TYPE_VOID           = 0x1,
    ELEMENT_TYPE_BOOLEAN        = 0x2,
    ELEMENT_TYPE_CHAR           = 0x3,
    ELEMENT_TYPE_I1             = 0x4,
    ELEMENT_TYPE_U1             = 0x5,
    ELEMENT_TYPE_I2             = 0x6,
    ELEMENT_TYPE_U2             = 0x7,
    ELEMENT_TYPE_I4             = 0x8,
    ELEMENT_TYPE_U4             = 0x9,
    ELEMENT_TYPE_I8             = 0xa,
    ELEMENT_TYPE_U8             = 0xb,
    ELEMENT_TYPE_R4             = 0xc,
    ELEMENT_TYPE_R8             = 0xd,
    ELEMENT_TYPE_STRING         = 0xe,
    
    ELEMENT_TYPE_PTR            = 0xf,
    ELEMENT_TYPE_BYREF          = 0x10,
    
    ELEMENT_TYPE_VALUETYPE      = 0x11,
    ELEMENT_TYPE_CLASS          = 0x12,
    ELEMENT_TYPE_VAR            = 0x13,
    ELEMENT_TYPE_ARRAY          = 0x14,
    ELEMENT_TYPE_GENERICINST    = 0x15,
    ELEMENT_TYPE_TYPEDBYREF     = 0x16,

    ELEMENT_TYPE_I              = 0x18,
    ELEMENT_TYPE_U              = 0x19,
    ELEMENT_TYPE_FNPTR          = 0x1B,
    ELEMENT_TYPE_OBJECT         = 0x1C,
    ELEMENT_TYPE_SZARRAY        = 0x1D,
    ELEMENT_TYPE_MVAR           = 0x1e,

    ELEMENT_TYPE_CMOD_REQD      = 0x1F,
    ELEMENT_TYPE_CMOD_OPT       = 0x20,

    ELEMENT_TYPE_INTERNAL       = 0x21,
    ELEMENT_TYPE_MAX            = 0x22,

    ELEMENT_TYPE_MODIFIER       = 0x40,
    ELEMENT_TYPE_SENTINEL       = 0x01 | ELEMENT_TYPE_MODIFIER,
    ELEMENT_TYPE_PINNED         = 0x05 | ELEMENT_TYPE_MODIFIER,
    ELEMENT_TYPE_R4_HFA         = 0x06 | ELEMENT_TYPE_MODIFIER,
    ELEMENT_TYPE_R8_HFA         = 0x07 | ELEMENT_TYPE_MODIFIER

} CorElementType;

Membres

Membre

Description

ELEMENT_TYPE_END

Utilisé en interne.

ELEMENT_TYPE_VOID

Type void

ELEMENT_TYPE_BOOLEAN

Type booléen

ELEMENT_TYPE_CHAR

Type caractère

ELEMENT_TYPE_I1

Entier signé sur 1 octet.

ELEMENT_TYPE_U1

Entier non signé sur 1 octet.

ELEMENT_TYPE_I2

Entier signé sur 2 octets.

ELEMENT_TYPE_U2

Entier non signé sur 2 octets.

ELEMENT_TYPE_I4

Entier signé sur 4 octets.

ELEMENT_TYPE_U4

Entier non signé sur 4 octets.

ELEMENT_TYPE_I8

Entier signé sur 8 octets.

ELEMENT_TYPE_U8

Entier non signé sur 8 octets.

ELEMENT_TYPE_R4

Virgule flottante de 4 octets

ELEMENT_TYPE_R8

Virgule flottante de 8 octets

ELEMENT_TYPE_STRING

Type System.String

ELEMENT_TYPE_PTR

Modificateur de type pointeur

ELEMENT_TYPE_BYREF

Modificateur de type référence

ELEMENT_TYPE_VALUETYPE

Modificateur de type valeur

ELEMENT_TYPE_CLASS

Modificateur de type classe

ELEMENT_TYPE_VAR

Modificateur de type variable de classe

ELEMENT_TYPE_ARRAY

Modificateur de type tableau multidimensionnel

ELEMENT_TYPE_GENERICINST

Modificateur de type pour types génériques

ELEMENT_TYPE_TYPEDBYREF

Référence typée

ELEMENT_TYPE_I

Taille d'un entier natif

ELEMENT_TYPE_U

Taille d'un entier natif non signé

ELEMENT_TYPE_FNPTR

Pointeur vers une fonction

ELEMENT_TYPE_OBJECT

Type System.Object

ELEMENT_TYPE_SZARRAY

Modificateur de type tableau de limite inférieure nulle unidimensionnel

ELEMENT_TYPE_MVAR

Modificateur de type variable de méthode

ELEMENT_TYPE_CMOD_REQD

Modificateur de langage C requis

ELEMENT_TYPE_CMOD_OPT

Modificateur de langage C facultatif

ELEMENT_TYPE_INTERNAL

Utilisé en interne.

ELEMENT_TYPE_MAX

Type non valide

ELEMENT_TYPE_MODIFIER

Utilisé en interne.

ELEMENT_TYPE_SENTINEL

Modificateur de type qui est une sentinelle pour la liste d'un nombre variable de paramètres

ELEMENT_TYPE_PINNED

Utilisé en interne.

ELEMENT_TYPE_R4_HFA

Utilisation en interne.

ELEMENT_TYPE_R8_HFA

Utilisé en interne.

Notes

Les modificateurs de type constituent la base pour représenter des types plus complexes. Une valeur de modificateur de type CorElementType est appliquée à la valeur qui la suit immédiatement dans la signature de type. La valeur qui suit la valeur de modificateur de type CorElementType peut être une valeur de type simple CorElementType, un jeton de métadonnées ou une autre valeur parmi celles indiquées dans le tableau ci-dessous.

RemarqueRemarque

Tous les nombres (nombre, nombre d'arguments, jeton de métadonnées, classement, compte et borne) sont stockés sous forme d'entiers compressés.Consultez Standard ECMA-335 - Common Language Infrastructure (CLI) (en anglais) sur le site Web ECMA pour plus de détails.

Modificateur de type

Format

ELEMENT_TYPE_PTR

ELEMENT_TYPE_PTR <une valeur CorElementType>

ELEMENT_TYPE_BYREF

ELEMENT_TYPE_BYREF <une valeur CorElementType>

ELEMENT_TYPE_VALUETYPE

ELEMENT_TYPE_VALUETYPE <un jeton de métadonnées mdTypeDef>

ELEMENT_TYPE_CLASS

ELEMENT_TYPE_CLASS <un jeton de métadonnées mdTypeDef>

ELEMENT_TYPE_VAR

ELEMENT_TYPE_VAR <nombre>

ELEMENT_TYPE_ARRAY

ELEMENT_TYPE_ARRAY <une valeur CorElementType> <rang> <nombre1> <limite1> ... <nombreN> <limiteN>

ELEMENT_TYPE_GENERICINST

ELEMENT_TYPE_GENERICINST <un jeton de métadonnées mdTypeDef> <Nombre d'arguments> <arg1>... <argN>

ELEMENT_TYPE_FNPTR

ELEMENT_TYPE_FNPTR <signature complète pour la fonction, y compris la convention d'appel>

ELEMENT_TYPE_SZARRAY

ELEMENT_TYPE_SZARRAY <une valeur CorElementType>

ELEMENT_TYPE_MVAR

ELEMENT_TYPE_MVAR <nombre>

ELEMENT_TYPE_CMOD_REQD

ELEMENT_TYPE_<un jeton de métadonnées mdTypeRef ou mdTypeDef>

ELEMENT_TYPE_CMOD_OPT

E_T_CMOD_OPT <un jeton de métadonnées mdTypeRef ou mdTypeDef>

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : CorHdr.h

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Voir aussi

Autres ressources

Énumérations de métadonnées