Freigeben über


CorElementType-Enumeration

Gibt einen Type der Common Language Runtime, einen Typmodifizierer oder Informationen über einen Typ in einer Metadatentypsignatur an.

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;

Member

Member

Beschreibungen

ELEMENT_TYPE_END

Wird intern verwendet.

ELEMENT_TYPE_VOID

Ein ungültiger Typ.

ELEMENT_TYPE_BOOLEAN

Ein Boolescher Typ.

ELEMENT_TYPE_CHAR

Ein Zeichentyp.

ELEMENT_TYPE_I1

Eine 1-Byte-Ganzzahl mit Vorzeichen.

ELEMENT_TYPE_U1

Eine 1-Byte-Ganzzahl ohne Vorzeichen.

ELEMENT_TYPE_I2

Eine 2-Byte-Ganzzahl mit Vorzeichen.

ELEMENT_TYPE_U2

Eine 2-Byte-Ganzzahl ohne Vorzeichen.

ELEMENT_TYPE_I4

Eine 4-Byte-Ganzzahl mit Vorzeichen.

ELEMENT_TYPE_U4

Eine 4-Byte-Ganzzahl ohne Vorzeichen.

ELEMENT_TYPE_I8

Eine 8-Byte-Ganzzahl mit Vorzeichen.

ELEMENT_TYPE_U8

Eine 8-Byte-Ganzzahl ohne Vorzeichen.

ELEMENT_TYPE_R4

Eine 4-Byte-Gleitkommazahl.

ELEMENT_TYPE_R8

Eine 8-Byte-Gleitkommazahl.

ELEMENT_TYPE_STRING

Ein System.String-Typ.

ELEMENT_TYPE_PTR

Ein Typmodifizierer für einen Zeiger.

ELEMENT_TYPE_BYREF

Ein Typmodifizierer für einen Verweis.

ELEMENT_TYPE_VALUETYPE

Ein Typmodifizierer für einen Wert.

ELEMENT_TYPE_CLASS

Ein Typmodifizierer für eine Klasse.

ELEMENT_TYPE_VAR

Ein Typmodifizierer für eine Klassenvariable.

ELEMENT_TYPE_ARRAY

Ein Typmodifizierer für ein mehrdimensionales Array.

ELEMENT_TYPE_GENERICINST

Ein Typmodifizierer für generische Typen.

ELEMENT_TYPE_TYPEDBYREF

Ein typisierter Verweis.

ELEMENT_TYPE_I

Die Größe einer systemeigenen Ganzzahl.

ELEMENT_TYPE_U

Die Größe einer systemeigenen Ganzzahl ohne Vorzeichen.

ELEMENT_TYPE_FNPTR

Ein Zeiger auf eine Funktion.

ELEMENT_TYPE_OBJECT

Ein System.Object-Typ.

ELEMENT_TYPE_SZARRAY

Ein Typmodifizierer für ein eindimensionales Array mit einer Untergrenze von 0 (null).

ELEMENT_TYPE_MVAR

Ein Typmodifizierer für eine Methodenvariable.

ELEMENT_TYPE_CMOD_REQD

Ein für die Programmiersprache C erforderlicher Modifizierer.

ELEMENT_TYPE_CMOD_OPT

Ein für die Programmiersprache C optionaler Modifizierer.

ELEMENT_TYPE_INTERNAL

Wird intern verwendet.

ELEMENT_TYPE_MAX

Ein ungültiger Typ.

ELEMENT_TYPE_MODIFIER

Wird intern verwendet.

ELEMENT_TYPE_SENTINEL

Ein Typmodifizierer, der ein Sentinel für eine Liste mit einer variablen Anzahl von Parametern ist.

ELEMENT_TYPE_PINNED

Wird intern verwendet.

ELEMENT_TYPE_R4_HFA

Wird intern verwendet.

ELEMENT_TYPE_R8_HFA

Wird intern verwendet.

Hinweise

Die Typmodifizierer bilden die Grundlage für die Darstellung komplexerer Typen. Ein CorElementType-Typmodifiziererwert wird auf den Wert angewendet, der in der Typsignatur unmittelbar auf ihn folgt. Der Wert, der auf den CorElementType-Typmodifiziererwert folgt, kann ein einfacher CorElementType-Wert, ein Metadatentoken oder ein anderer Wert aus der folgenden Tabelle sein.

HinweisHinweis

Alle Zahlen (Zahl, Argumentanzahl, Metadatentoken, Rang, Anzahl und Grenze) werden als komprimierte ganze Zahlen gespeichert.Weitere Informationen finden Sie auf der ECMA-Website unter Standard ECMA-335 - Common Language Infrastructure (CLI).

Typmodifizierer

Format

ELEMENT_TYPE_PTR

ELEMENT_TYPE_PTR <ein CorElementType-Wert>

ELEMENT_TYPE_BYREF

ELEMENT_TYPE_BYREF <ein CorElementType-Wert>

ELEMENT_TYPE_VALUETYPE

ELEMENT_TYPE_VALUETYPE <ein mdTypeDef-Metadatentoken>

ELEMENT_TYPE_CLASS

ELEMENT_TYPE_CLASS <ein mdTypeDef-Metadatentoken>

ELEMENT_TYPE_VAR

ELEMENT_TYPE_VAR <Zahl>

ELEMENT_TYPE_ARRAY

ELEMENT_TYPE_ARRAY <ein CorElementType-Wert> <Rang> <Anzahl1> <Begrenzung1> ... <AnzahlN> <BegrenzungN>

ELEMENT_TYPE_GENERICINST

ELEMENT_TYPE_GENERICINST <ein mdTypeDef-Metadatentoken> <Argumentanzahl> <Arg1> ... <ArgN>

ELEMENT_TYPE_FNPTR

ELEMENT_TYPE_FNPTR <die vollständige Signatur für die Funktion einschließlich der Aufrufkonvention>

ELEMENT_TYPE_SZARRAY

ELEMENT_TYPE_SZARRAY <ein CorElementType-Wert>

ELEMENT_TYPE_MVAR

ELEMENT_TYPE_MVAR <Zahl>

ELEMENT_TYPE_CMOD_REQD

ELEMENT_TYPE_ <ein mdTypeRef-Metadatentoken oder ein mdTypeDef-Metadatentoken>

ELEMENT_TYPE_CMOD_OPT

E_T_CMOD_OPT <ein mdTypeRef-Metadatentoken oder ein mdTypeDef-Metadatentoken>

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorHdr.h

.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Siehe auch

Weitere Ressourcen

Metadatenenumerationen