CorElementType 枚举
指定公共语言运行时 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;
成员
成员 | 说明 |
---|---|
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 |
内部使用。 |
注解
类型修饰符构成了表示更复杂类型的基础。 CorElementType
类型修饰符值应用于类型签名中紧随其后的值。 CorElementType
类型修饰符值后面的值可以是 CorElementType
简单类型值、元数据标记或其他值,如下表所示。
备注
所有数字(数字、参数计数、元数据标记、排名、计数和边界)存储为压缩整数。 有关详细信息,请参阅 ECMA 网站上的标准 ECMA-335 - 公共语言基础结构 (CLI)。
类型修饰符 | 格式 |
---|---|
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 值><排名><count1><bound1> ... <countN><boundN> |
ELEMENT_TYPE_GENERICINST |
ELEMENT_TYPE_GENERICINST <一个 mdTypeDef 元数据标记><参数计数><arg1> ... <argN> |
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 元数据标记> |
要求
平台:请参阅系统要求。
标头:CorHdr.h
.NET Framework 版本:自 1.0 起可用
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈