CorElementType 列舉
指定 Common Language Runtime 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 |
表示多個參數之清單 Sentinel 的型別修飾詞。 |
ELEMENT_TYPE_PINNED |
內部使用。 |
ELEMENT_TYPE_R4_HFA |
內部使用。 |
ELEMENT_TYPE_R8_HFA |
內部使用。 |
備註
型別修飾詞為表示更複雜的型別提供了基礎。 CorElementType 型別修飾詞的值會套用至型別簽章中緊跟在它後面的值。 CorElementType 型別修飾詞值後面的值可以是 CorElementType 簡單型別值、中繼資料語彙基元,或下表中指定的其他值。
注意事項 |
---|
所有數字 (number、argument Count、metadata token、rank、count 和 bound) 都儲存為經過壓縮的整數。如需詳細資訊,請參閱 ECMA 網站上的標準 ECMA-335 - Common Language Infrastructure (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 中繼資料語彙基元> |
需求
**平台:**請參閱 .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