CorElementType
Aktualisiert: November 2007
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 |
Beschreibung |
---|---|
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.
Tipp
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: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0