CorElementType – výčet
Určuje modul CLR (Common Language Runtime Type), modifikátor typu nebo informace o typu v podpisu typu metadat.
Syntaxe
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;
Členové
Člen | Popis |
---|---|
ELEMENT_TYPE_END |
Používá se interně. |
ELEMENT_TYPE_VOID |
Typ void. |
ELEMENT_TYPE_BOOLEAN |
Logický typ |
ELEMENT_TYPE_CHAR |
Typ znaku. |
ELEMENT_TYPE_I1 |
Celé číslo s 1 bajtem se signed. |
ELEMENT_TYPE_U1 |
Celé číslo bez znaménka s 1 bajtem. |
ELEMENT_TYPE_I2 |
Celé číslo se 2 bajty. |
ELEMENT_TYPE_U2 |
Celé číslo bez znaménka 2 bajtů. |
ELEMENT_TYPE_I4 |
Celé číslo se 4 bajty. |
ELEMENT_TYPE_U4 |
Celé číslo bez znaménka 4 bajtů. |
ELEMENT_TYPE_I8 |
Celé číslo s 8 bajty. |
ELEMENT_TYPE_U8 |
Celé číslo bez znaménka 8 bajtů. |
ELEMENT_TYPE_R4 |
4bajtů s plovoucí desetinou čárkou. |
ELEMENT_TYPE_R8 |
8bajtů s plovoucí desetinou čárkou. |
ELEMENT_TYPE_STRING |
Typ System.String. |
ELEMENT_TYPE_PTR |
Modifikátor typu ukazatele |
ELEMENT_TYPE_BYREF |
Modifikátor typu odkazu. |
ELEMENT_TYPE_VALUETYPE |
Modifikátor typu hodnoty. |
ELEMENT_TYPE_CLASS |
Modifikátor typu třídy. |
ELEMENT_TYPE_VAR |
Modifikátor typu proměnné třídy. |
ELEMENT_TYPE_ARRAY |
Modifikátor vícerozměrného typu pole. |
ELEMENT_TYPE_GENERICINST |
Modifikátor typu pro obecné typy. |
ELEMENT_TYPE_TYPEDBYREF |
Typový odkaz. |
ELEMENT_TYPE_I |
Velikost nativního celého čísla |
ELEMENT_TYPE_U |
Velikost nativního celého čísla bez znaménka |
ELEMENT_TYPE_FNPTR |
Ukazatel na funkci. |
ELEMENT_TYPE_OBJECT |
Typ System.Object. |
ELEMENT_TYPE_SZARRAY |
Modifikátor jednorozměrného pole s nulovou nulou. |
ELEMENT_TYPE_MVAR |
Modifikátor typu proměnné metody. |
ELEMENT_TYPE_CMOD_REQD |
Požadovaný modifikátor jazyka C. |
ELEMENT_TYPE_CMOD_OPT |
Volitelný modifikátor jazyka C. |
ELEMENT_TYPE_INTERNAL |
Používá se interně. |
ELEMENT_TYPE_MAX |
Neplatný typ. |
ELEMENT_TYPE_MODIFIER |
Používá se interně. |
ELEMENT_TYPE_SENTINEL |
Modifikátor typu, který je sentinelem pro seznam proměnných parametrů. |
ELEMENT_TYPE_PINNED |
Používá se interně. |
Poznámky
Modifikátory typů tvoří základ pro reprezentaci složitějších typů. Modifikátor CorElementType
typu se použije na hodnotu, která se bezprostředně za ní řídí v podpisu typu. Hodnota, která následuje za CorElementType
modifikační hodnotou typu, může být jednoduchá CorElementType
hodnota typu, token metadat nebo jiná hodnota, jak je uvedeno v následující tabulce.
Poznámka
Všechna čísla (číslo, počet argumentů, token metadat, pořadí, počet a vázaná) se ukládají jako komprimovaná celá čísla. Podrobnosti najdete na webu ECMA-335 – Common Language Infrastructure (CLI) na webu ECMA.
Modifikátor typu | Formát |
---|---|
ELEMENT_TYPE_PTR |
<CorElementType ELEMENT_TYPE_PTR hodnotu> |
ELEMENT_TYPE_BYREF |
<CorElementType ELEMENT_TYPE_BYREF hodnotu> |
ELEMENT_TYPE_VALUETYPE |
<mdTypeDef ELEMENT_TYPE_VALUETYPE token metadat> |
ELEMENT_TYPE_CLASS |
<mdTypeDef ELEMENT_TYPE_CLASS token metadat> |
ELEMENT_TYPE_VAR |
<číslo ELEMENT_TYPE_VAR> |
ELEMENT_TYPE_ARRAY |
ELEMENT_TYPE_ARRAY počet<>hodnot rank1>><<bound1 ... <><CorElementType countN><boundN> |
ELEMENT_TYPE_GENERICINST |
ELEMENT_TYPE_GENERICINST argument tokenu><metadat Count<>arg1> ... <<mdTypeDef argN> |
ELEMENT_TYPE_FNPTR |
<ELEMENT_TYPE_FNPTR kompletní podpis funkce, včetně konvence volání> |
ELEMENT_TYPE_SZARRAY |
<CorElementType ELEMENT_TYPE_SZARRAY hodnotu> |
ELEMENT_TYPE_MVAR |
<číslo ELEMENT_TYPE_MVAR> |
ELEMENT_TYPE_CMOD_REQD |
<ELEMENT_TYPE_a mdTypeRef nebo mdTypeDef token metadat> |
ELEMENT_TYPE_CMOD_OPT |
<mdTypeRef E_T_CMOD_OPT tokenu metadat mdTypeDef > |
Požadavky
Platformy: Viz požadavky na systém.
Hlavička: CorHdr.h
Verze rozhraní .NET Framework: Dostupné od verze 1.0
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro