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,
    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 简单类型值、元数据标记,也可以是如下表中所指定的其他值。

注意注意

所有数字(数字、参数计数、元数据标记、秩、计数和界限)都存储为压缩整数。有关详细信息,请参见 ECMA 网站上的 Standard ECMA-335 - Common Language Infrastructure (CLI)(标准 ECMA-335 — 公共语言基础结构 (CLI))。

类型修饰符

Format

ELEMENT_TYPE_PTR

ELEMENT_TYPE_PTR <a CorElementType value>

ELEMENT_TYPE_BYREF

ELEMENT_TYPE_BYREF <a CorElementType value>

ELEMENT_TYPE_VALUETYPE

ELEMENT_TYPE_VALUETYPE <an mdTypeDef metadata token>

ELEMENT_TYPE_CLASS

ELEMENT_TYPE_CLASS <an mdTypeDef metadata token>

ELEMENT_TYPE_VAR

ELEMENT_TYPE_VAR <number>

ELEMENT_TYPE_ARRAY

ELEMENT_TYPE_ARRAY <CorElementType 值> <秩> <计数 1> <界限 1> ... <countN> <boundN>

ELEMENT_TYPE_GENERICINST

ELEMENT_TYPE_GENERICINST <mdTypeDef 元数据标记> <参数计数> <参数 1> ... <argN>

ELEMENT_TYPE_FNPTR

ELEMENT_TYPE_FNPTR <函数的完整签名,包括调用约定>

ELEMENT_TYPE_SZARRAY

ELEMENT_TYPE_SZARRAY <a CorElementType value>

ELEMENT_TYPE_MVAR

ELEMENT_TYPE_MVAR <number>

ELEMENT_TYPE_CMOD_REQD

ELEMENT_TYPE_<a mdTypeRef or mdTypeDef metadata token>

ELEMENT_TYPE_CMOD_OPT

E_T_CMOD_OPT <a mdTypeRef or mdTypeDef metadata token>

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**CorHdr.h

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

请参见

其他资源

元数据枚举