Compartilhar via


Enumeração de CorElementType

Especifica um common language runtime Type, um modificador do tipo, ou as informações sobre um tipo em uma assinatura de tipo de metadados.

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;

Membros

Membro

Descrição

ELEMENT_TYPE_END

Usado internamente.

ELEMENT_TYPE_VOID

Um tipo de void.

ELEMENT_TYPE_BOOLEAN

Um tipo booleano

ELEMENT_TYPE_CHAR

Um tipo de caractere.

ELEMENT_TYPE_I1

Um inteiro assinado de 1 byte.

ELEMENT_TYPE_U1

Um inteiro não assinado de 1 byte.

ELEMENT_TYPE_I2

Um inteiro assinado de 2 bytes.

ELEMENT_TYPE_U2

Um inteiro não assinado de 2 bytes.

ELEMENT_TYPE_I4

Um inteiro assinado de 4 bytes.

ELEMENT_TYPE_U4

Um inteiro não assinado de 4 bytes.

ELEMENT_TYPE_I8

Um inteiro assinado de 8 bytes.

ELEMENT_TYPE_U8

Um inteiro não assinado de 8 bytes.

ELEMENT_TYPE_R4

Um ponto flutuante de 4 bytes.

ELEMENT_TYPE_R8

Um ponto flutuante de 8 bytes.

ELEMENT_TYPE_STRING

Um tipo de System. String.

ELEMENT_TYPE_PTR

Modificador do tipo de ponteiro.

ELEMENT_TYPE_BYREF

Modificador do tipo de referência.

ELEMENT_TYPE_VALUETYPE

Modificador do tipo de valor.

ELEMENT_TYPE_CLASS

Modificador do tipo de classe.

ELEMENT_TYPE_VAR

Um modificador do tipo de variável de classe.

ELEMENT_TYPE_ARRAY

Modificador do tipo de matriz multidimensional.

ELEMENT_TYPE_GENERICINST

Um modificador de tipo para tipos genéricos.

ELEMENT_TYPE_TYPEDBYREF

Uma referência tipada.

ELEMENT_TYPE_I

Tamanho de um inteiro nativo.

ELEMENT_TYPE_U

Tamanho de um inteiro não assinado de nativo.

ELEMENT_TYPE_FNPTR

Um ponteiro para uma função.

ELEMENT_TYPE_OBJECT

Um tipo de Object.

ELEMENT_TYPE_SZARRAY

Um unidimensionais, modificador do tipo de matriz de limite inferior zero.

ELEMENT_TYPE_MVAR

Um modificador de variável do tipo de método.

ELEMENT_TYPE_CMOD_REQD

Um modificador necessária 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

Modificador do tipo que é um sentinel para obter uma lista de um número variável de parâmetros.

ELEMENT_TYPE_PINNED

Usado internamente.

ELEMENT_TYPE_R4_HFA

Usado internamente.

ELEMENT_TYPE_R8_HFA

Usado internamente.

Comentários

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

Observação

Todos os números (número, argumento contagem, o token de metadados, posto, contagem, e acoplado) são armazenados como inteiros compactados.Consulte padrão ECMA-335 - Common Language Infrastructure (CLI) no site da ECMA para obter detalhes.

Modificador do tipo

Formato

ELEMENT_TYPE_PTR

ELEMENT_TYPE_PTR < um CorElementType valor >

ELEMENT_TYPE_BYREF

ELEMENT_TYPE_BYREF < um CorElementType valor >

ELEMENT_TYPE_VALUETYPE

ELEMENT_TYPE_VALUETYPE < um mdTypeDef o token de metadados >

ELEMENT_TYPE_CLASS

ELEMENT_TYPE_CLASS < um mdTypeDef o token de metadados >

ELEMENT_TYPE_VAR

ELEMENT_TYPE_VAR <number>

ELEMENT_TYPE_ARRAY

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

ELEMENT_TYPE_GENERICINST

ELEMENT_TYPE_GENERICINST < um mdTypeDef o token de metadados > < argumento contagem > <arg1> ... <argN>

ELEMENT_TYPE_FNPTR

ELEMENT_TYPE_FNPTR < assinatura completa para a função, incluindo a convenção de chamada >

ELEMENT_TYPE_SZARRAY

ELEMENT_TYPE_SZARRAY < um CorElementType valor >

ELEMENT_TYPE_MVAR

ELEMENT_TYPE_MVAR <number>

ELEMENT_TYPE_CMOD_REQD

ELEMENT_TYPE _ < um mdTypeRef ou mdTypeDef o token de metadados >

ELEMENT_TYPE_CMOD_OPT

E_T_CMOD_OPT < um mdTypeRef ou mdTypeDef o token de metadados >

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: CorHdr.h

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Consulte também

Outros recursos

Enumerações de metadados