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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de