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

1 次元の下限ゼロの配列の型修飾子。

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 Web サイトの「Standard 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 値> <ランク> <カウント 1> <下限 1> ... <カウント N> <下限 N>

ELEMENT_TYPE_GENERICINST

ELEMENT_TYPE_GENERICINST <mdTypeDef メタデータ トークン> <引数カウント> <引数 1> ... <引数 N>

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

参照

その他の技術情報

メタデータ列挙体