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


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

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

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;

Члены

Элемент

Описание

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

Модификатор типа, являющийся сигнальной методикой для списка числа переменных в параметре.

ELEMENT_TYPE_PINNED

Для внутреннего использования.

ELEMENT_TYPE_R4_HFA

Для внутреннего пользования.

ELEMENT_TYPE_R8_HFA

Для внутреннего использования.

Заметки

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

ПримечаниеПримечание

Все числовые значения (номер, счетчик аргументов, маркер метаданных, ранг, счетчик и границы) хранятся в виде сжатых целых чисел.Подробные сведения см. в стандарте Standard ECMA-335 - Common Language Infrastructure (CLI) на веб-узле ECMA.

Модификатор типа

Format

ELEMENT_TYPE_PTR

ELEMENT_TYPE_PTR <значение CorElementType>

ELEMENT_TYPE_BYREF

ELEMENT_TYPE_BYREF <значение CorElementType>

ELEMENT_TYPE_VALUETYPE

ELEMENT_TYPE_VALUETYPE <маркер метаданных mdTypeDef>

ELEMENT_TYPE_CLASS

ELEMENT_TYPE_CLASS <маркер метаданных mdTypeDef>

ELEMENT_TYPE_VAR

ELEMENT_TYPE_VAR <номер>

ELEMENT_TYPE_ARRAY

ELEMENT_TYPE_ARRAY <значение CorElementType> <ранг> <счетчик1> <граница1> ... <счетчикN> <границаN>

ELEMENT_TYPE_GENERICINST

ELEMENT_TYPE_GENERICINST <маркер метаданных mdTypeDef> <счетчикАргументов> <аргумент1> ... <аргументN>

ELEMENT_TYPE_FNPTR

ELEMENT_TYPE_FNPTR <полная сигнатура для функции, включая соглашение о вызовах>

ELEMENT_TYPE_SZARRAY

ELEMENT_TYPE_SZARRAY <значение CorElementType>

ELEMENT_TYPE_MVAR

ELEMENT_TYPE_MVAR <номер>

ELEMENT_TYPE_CMOD_REQD

ELEMENT_TYPE_<маркер метаданных mdTypeRef или mdTypeDef>

ELEMENT_TYPE_CMOD_OPT

E_T_CMOD_OPT <маркер метаданных mdTypeRef или mdTypeDef>

Требования

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

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

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0, 1.1, 1.0

См. также

Другие ресурсы

Перечисления метаданных