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_<一个 mdTypeRefmdTypeDef 元数据标记>
ELEMENT_TYPE_CMOD_OPT E_T_CMOD_OPT <一个 mdTypeRefmdTypeDef 元数据标记>

要求

平台:请参阅系统要求

标头:CorHdr.h

.NET Framework 版本:自 1.0 起可用

另请参阅