Compartir a través de


CorElementType (Enumeración)

Especifica un Type de Common Language Runtime, un modificador de tipo o información sobre un tipo en una firma de tipo de metadatos.

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;

Miembros

Miembro

Descripción

ELEMENT_TYPE_END

De uso interno.

ELEMENT_TYPE_VOID

Un tipo void.

ELEMENT_TYPE_BOOLEAN

Un tipo booleano

ELEMENT_TYPE_CHAR

Un tipo de caracteres.

ELEMENT_TYPE_I1

Entero de 1 byte con signo.

ELEMENT_TYPE_U1

Entero de 1 byte sin signo.

ELEMENT_TYPE_I2

Entero de 2 bytes con signo.

ELEMENT_TYPE_U2

Entero de 2 bytes sin signo.

ELEMENT_TYPE_I4

Entero de 4 bytes con signo.

ELEMENT_TYPE_U4

Entero de 4 bytes sin signo.

ELEMENT_TYPE_I8

Entero de 8 bytes con signo.

ELEMENT_TYPE_U8

Entero de 8 bytes sin signo.

ELEMENT_TYPE_R4

Punto flotante de 4 bytes.

ELEMENT_TYPE_R8

Punto flotante de 8 bytes.

ELEMENT_TYPE_STRING

Tipo System.String.

ELEMENT_TYPE_PTR

Modificador de tipo de puntero.

ELEMENT_TYPE_BYREF

Modificador de tipo referencia.

ELEMENT_TYPE_VALUETYPE

Modificador de tipo de valor.

ELEMENT_TYPE_CLASS

Modificador de tipo clase.

ELEMENT_TYPE_VAR

Modificador de tipo variable de clase.

ELEMENT_TYPE_ARRAY

Modificador de tipo matriz multidimensional.

ELEMENT_TYPE_GENERICINST

Modificador de tipo para tipos genéricos.

ELEMENT_TYPE_TYPEDBYREF

Referencia con tipo.

ELEMENT_TYPE_I

Tamaño de un entero nativo.

ELEMENT_TYPE_U

Tamaño de un entero nativo sin signo.

ELEMENT_TYPE_FNPTR

Puntero a una función.

ELEMENT_TYPE_OBJECT

Tipo System.Object.

ELEMENT_TYPE_SZARRAY

Modificador de tipo matriz unidimensional, de límite inferior cero.

ELEMENT_TYPE_MVAR

Modificador de tipo variable de método.

ELEMENT_TYPE_CMOD_REQD

Modificador requerido por el lenguaje C.

ELEMENT_TYPE_CMOD_OPT

Modificador opcional para el lenguaje C.

ELEMENT_TYPE_INTERNAL

De uso interno.

ELEMENT_TYPE_MAX

Tipo no válido.

ELEMENT_TYPE_MODIFIER

De uso interno.

ELEMENT_TYPE_SENTINEL

Modificador de tipo que es un centinela para una lista de un número variable de parámetros.

ELEMENT_TYPE_PINNED

De uso interno.

ELEMENT_TYPE_R4_HFA

De uso interno.

ELEMENT_TYPE_R8_HFA

De uso interno.

Comentarios

Los modificadores de tipo forman la base para representar tipos más complejos. Un valor de modificador de tipo CorElementType se aplica al valor que inmediatamente lo sigue en la firma del tipo. El valor que sigue al valor de modificador de tipo CorElementType puede ser un valor de tipo simple CorElementType, un token de metadatos u otro valor según lo especificado en la tabla siguiente.

NotaNota

Todos los números (número, argumento Count, token de metadatos, rank, count y bound) se guardan como enteros comprimidos.Vea Standard ECMA-335 - Common Language Infrastructure (CLI) del sitio web de ECMA para obtener información detallada.

Modificador de tipo

Format

ELEMENT_TYPE_PTR

ELEMENT_TYPE_PTR <un valor CorElementType>

ELEMENT_TYPE_BYREF

ELEMENT_TYPE_BYREF <un valor CorElementType>

ELEMENT_TYPE_VALUETYPE

ELEMENT_TYPE_VALUETYPE <un token de metadatos mdTypeDef>

ELEMENT_TYPE_CLASS

ELEMENT_TYPE_CLASS <un token de metadatos mdTypeDef>

ELEMENT_TYPE_VAR

ELEMENT_TYPE_VAR <número>

ELEMENT_TYPE_ARRAY

ELEMENT_TYPE_ARRAY <un valor CorElementType> <rank> <count1> <bound1> ... <countN> <boundN>

ELEMENT_TYPE_GENERICINST

ELEMENT_TYPE_GENERICINST <un token de metadatos mdTypeDef> <argumento Count> <arg1> ... <argN>

ELEMENT_TYPE_FNPTR

ELEMENT_TYPE_FNPTR <firma completa para la función, que incluye la convención de llamada>

ELEMENT_TYPE_SZARRAY

ELEMENT_TYPE_SZARRAY <un valor CorElementType>

ELEMENT_TYPE_MVAR

ELEMENT_TYPE_MVAR <número>

ELEMENT_TYPE_CMOD_REQD

ELEMENT_TYPE_<un token de metadatos mdTypeRef o mdTypeDef>

ELEMENT_TYPE_CMOD_OPT

E_T_CMOD_OPT <un token de metadatos mdTypeRef o mdTypeDef>

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: CorHdr.h

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vea también

Otros recursos

Enumeraciones para metadatos