Sdílet prostřednictvím


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 ... <><CorElementTypecountN><boundN>
ELEMENT_TYPE_GENERICINST ELEMENT_TYPE_GENERICINST argument tokenu><metadat Count<>arg1> ... <<mdTypeDefargN>
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é