Перечисление 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