Share via


Enumeração CorElementType

Especifica um Type de Common Language Runtime, um modificador de tipo ou informações sobre um tipo em uma assinatura de tipo de metadados.

Sintaxe

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

} CorElementType;

Membros

Membro DESCRIÇÃO
ELEMENT_TYPE_END Usado internamente.
ELEMENT_TYPE_VOID Um tipo void.
ELEMENT_TYPE_BOOLEAN Um tipo booliano.
ELEMENT_TYPE_CHAR Um tipo de caractere.
ELEMENT_TYPE_I1 Um inteiro de 1 byte com sinal.
ELEMENT_TYPE_U1 Um inteiro de 1 byte sem sinal.
ELEMENT_TYPE_I2 Um inteiro de 2 bytes com sinal.
ELEMENT_TYPE_U2 Um inteiro de 2 bytes sem sinal.
ELEMENT_TYPE_I4 Um inteiro de 4 bytes com sinal.
ELEMENT_TYPE_U4 Um inteiro de 4 bytes sem sinal.
ELEMENT_TYPE_I8 Um inteiro de 8 bytes com sinal.
ELEMENT_TYPE_U8 Um inteiro de 8 bytes sem sinal.
ELEMENT_TYPE_R4 Um ponto flutuante de 4 bytes.
ELEMENT_TYPE_R8 Um ponto flutuante de 8 bytes.
ELEMENT_TYPE_STRING Um tipo System.String.
ELEMENT_TYPE_PTR Um modificador de tipo de ponteiro.
ELEMENT_TYPE_BYREF Um modificador de tipo de referência.
ELEMENT_TYPE_VALUETYPE Um modificador de tipo de valor.
ELEMENT_TYPE_CLASS Um modificador de tipo de classe.
ELEMENT_TYPE_VAR Um modificador de tipo de variável de classe.
ELEMENT_TYPE_ARRAY Um modificador de tipo de matriz multidimensional.
ELEMENT_TYPE_GENERICINST Um modificador de tipo para tipos genéricos.
ELEMENT_TYPE_TYPEDBYREF Uma referência com tipo.
ELEMENT_TYPE_I Tamanho de um inteiro nativo.
ELEMENT_TYPE_U Tamanho de um inteiro nativo sem sinal.
ELEMENT_TYPE_FNPTR Um ponteiro para uma função.
ELEMENT_TYPE_OBJECT Um tipo System.Object.
ELEMENT_TYPE_SZARRAY Um modificador de tipo de matriz de limite inferior zero unidimensional.
ELEMENT_TYPE_MVAR Um modificador de tipo de variável de método.
ELEMENT_TYPE_CMOD_REQD Um modificador necessário da linguagem C.
ELEMENT_TYPE_CMOD_OPT Um modificador opcional da linguagem C.
ELEMENT_TYPE_INTERNAL Usado internamente.
ELEMENT_TYPE_MAX Um tipo inválido.
ELEMENT_TYPE_MODIFIER Usado internamente.
ELEMENT_TYPE_SENTINEL Um modificador de tipo que é um sentinela para uma lista de um número variável de parâmetros.
ELEMENT_TYPE_PINNED Usado internamente.

Comentários

Os modificadores de tipo formam a base para representar os tipos mais complexos. Um valor de modificador de tipo CorElementType é aplicado ao valor que o segue imediatamente na assinatura de tipo. O valor que segue o valor do modificador de tipo CorElementType pode ser um valor de tipo simples CorElementType, um token de metadados ou outro valor, conforme especificado na tabela a seguir.

Observação

Todos os números (número, contagem de argumentos, token de metadados, classificação, contagem e associado) são armazenados como inteiros compactados. Consulte Padrão ECMA-335 − CLI (Common Language Infrastructure) no site da ECMA para obter detalhes.

Modificador de tipo Formatar
ELEMENT_TYPE_PTR ELEMENT_TYPE_PTR <um valor CorElementType>
ELEMENT_TYPE_BYREF ELEMENT_TYPE_BYREF <um valor CorElementType>
ELEMENT_TYPE_VALUETYPE ELEMENT_TYPE_VALUETYPE <um token de metadados mdTypeDef>
ELEMENT_TYPE_CLASS ELEMENT_TYPE_CLASS <um token de metadados mdTypeDef>
ELEMENT_TYPE_VAR ELEMENT_TYPE_VAR <número>
ELEMENT_TYPE_ARRAY ELEMENT_TYPE_ARRAY <um valor CorElementType><rank><count1><bound1> ... <countN><boundN>
ELEMENT_TYPE_GENERICINST ELEMENT_TYPE_GENERICINST <um token de metadados mdTypeDef><argumento Count><arg1> ... <argN>
ELEMENT_TYPE_FNPTR ELEMENT_TYPE_FNPTR <assinatura completa para a função incluindo convenção de chamada>
ELEMENT_TYPE_SZARRAY ELEMENT_TYPE_SZARRAY <um valor CorElementType>
ELEMENT_TYPE_MVAR ELEMENT_TYPE_MVAR <número>
ELEMENT_TYPE_CMOD_REQD ELEMENT_TYPE_<um token de metadadosmdTypeRef ou mdTypeDef>
ELEMENT_TYPE_CMOD_OPT E_T_CMOD_OPT <um token de metadados mdTypeRef ou mdTypeDef>

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorHdr.h

Versões do .NET Framework: Disponíveis desde a versão 1.0

Confira também