Перечисление 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> ... <<mdTypeDef argN> |
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
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по