Поделиться через


Перечисление CorElementType

Указывает среду CLR Type, модификатор типа или сведения о типе в сигнатуре типа метаданных.

Синтаксис

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;

Участники

Элемент Description
ELEMENT_TYPE_END Используется внутри системы.
ELEMENT_TYPE_VOID Тип void.
ELEMENT_TYPE_BOOLEAN Логический тип
ELEMENT_TYPE_CHAR Тип символа.
ELEMENT_TYPE_I1 Целое число со знаком 1-байтов.
ELEMENT_TYPE_U1 1-байтовое целое число без знака.
ELEMENT_TYPE_I2 Целое число со знаком 2-байтов.
ELEMENT_TYPE_U2 Целое число без знака 2-байтов.
ELEMENT_TYPE_I4 Целое число со знаком 4-байтов.
ELEMENT_TYPE_U4 Целое число без знака 4-байтов.
ELEMENT_TYPE_I8 Целое число со знаком 8-байтов.
ELEMENT_TYPE_U8 Целое число без знака 8-байтов.
ELEMENT_TYPE_R4 4-байтовая плавающая точка.
ELEMENT_TYPE_R8 8-байтовая плавающая точка.
ELEMENT_TYPE_STRING Тип System.String.
ELEMENT_TYPE_PTR Модификатор типа указателя.
ELEMENT_TYPE_BYREF Модификатор ссылочного типа.
ELEMENT_TYPE_VALUETYPE Модификатор типа значения.
ELEMENT_TYPE_CLASS Модификатор типа класса.
ELEMENT_TYPE_VAR Модификатор типа переменной класса.
ELEMENT_TYPE_ARRAY Модификатор многомерного типа массива.
ELEMENT_TYPE_GENERICINST Модификатор типов для универсальных типов.
ELEMENT_TYPE_TYPEDBYREF Типизированная ссылка.
ELEMENT_TYPE_I Размер собственного целого числа.
ELEMENT_TYPE_U Размер целого числа без знака.
ELEMENT_TYPE_FNPTR Указатель на функцию.
ELEMENT_TYPE_OBJECT Тип System.Object.
ELEMENT_TYPE_SZARRAY Модификатор одномерного типа массива с нулевой нижней границой.
ELEMENT_TYPE_MVAR Модификатор типа переменной метода.
ELEMENT_TYPE_CMOD_REQD Обязательный модификатор языка C.
ELEMENT_TYPE_CMOD_OPT Необязательный модификатор языка C.
ELEMENT_TYPE_INTERNAL Используется внутри системы.
ELEMENT_TYPE_MAX Недопустимый тип.
ELEMENT_TYPE_MODIFIER Используется внутри системы.
ELEMENT_TYPE_SENTINEL Модификатор типа, представляющий собой sentinel для списка переменной количества параметров.
ELEMENT_TYPE_PINNED Используется внутри системы.

Замечания

Модификаторы типов формируют основу для представления более сложных типов. Значение CorElementType модификатора типа применяется к значению, которое сразу же следует за ним в сигнатуре типа. Значение, CorElementType следующее за модификатором CorElementType типа, может быть простым значением типа, маркером метаданных или другим значением, указанным в следующей таблице.

Примечание.

Все числа (число, число аргументов, маркер метаданных, ранг, подсчет и привязка) хранятся в виде сжатых целых чисел. Дополнительные сведения см . на веб-сайте ECMA-335 . Инфраструктура общего языка (CLI) на веб-сайте ECMA.

Модификатор типов Форматировать
ELEMENT_TYPE_PTR <CorElementType ELEMENT_TYPE_PTR значение>
ELEMENT_TYPE_BYREF <CorElementType ELEMENT_TYPE_BYREF значение>
ELEMENT_TYPE_VALUETYPE <mdTypeDef ELEMENT_TYPE_VALUETYPE маркер метаданных>
ELEMENT_TYPE_CLASS <mdTypeDef ELEMENT_TYPE_CLASS маркер метаданных>
ELEMENT_TYPE_VAR <номер ELEMENT_TYPE_VAR>
ELEMENT_TYPE_ARRAY <ELEMENT_TYPE_ARRAY число рангов><значений1<CorElementType><> привязано1 ... <>countN boundN><>
ELEMENT_TYPE_GENERICINST ELEMENT_TYPE_GENERICINST аргумента маркера><метаданных Count<>arg1> ... <<mdTypeDefargN>
ELEMENT_TYPE_FNPTR <ELEMENT_TYPE_FNPTR полную подпись функции, включая соглашение о вызовах>
ELEMENT_TYPE_SZARRAY <CorElementType ELEMENT_TYPE_SZARRAY значение>
ELEMENT_TYPE_MVAR <номер ELEMENT_TYPE_MVAR>
ELEMENT_TYPE_CMOD_REQD <ELEMENT_TYPE_a mdTypeRef или mdTypeDef маркер метаданных>
ELEMENT_TYPE_CMOD_OPT <mdTypeRef E_T_CMOD_OPT маркер метаданных или mdTypeDef маркер метаданных>

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorHdr.h

версии платформа .NET Framework: Доступно с версии 1.0

См. также