Freigeben über


CorElementType-Aufzählung

Gibt eine Common Language Runtime Type, einen Typmodifizierer oder Informationen zu einem Typ in einer Metadatentypsignatur an.

Syntax

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

} CorElementType;

Elemente

Mitglied Description
ELEMENT_TYPE_END Intern verwendet.
ELEMENT_TYPE_VOID Ein leerer Typ.
ELEMENT_TYPE_BOOLEAN Boolescher Typ
ELEMENT_TYPE_CHAR Ein Zeichentyp.
ELEMENT_TYPE_I1 Eine signierte 1-Byte-Ganzzahl.
ELEMENT_TYPE_U1 Eine nicht signierte 1-Byte-Ganzzahl.
ELEMENT_TYPE_I2 Eine signierte 2-Byte-Ganzzahl.
ELEMENT_TYPE_U2 Eine nicht signierte 2-Byte-Ganzzahl.
ELEMENT_TYPE_I4 Eine signierte 4-Byte-Ganzzahl.
ELEMENT_TYPE_U4 Eine nicht signierte 4-Byte-Ganzzahl.
ELEMENT_TYPE_I8 Eine signierte 8-Byte-Ganzzahl.
ELEMENT_TYPE_U8 Eine nicht signierte 8-Byte-Ganzzahl.
ELEMENT_TYPE_R4 Ein 4-Byte-Gleitkomma.
ELEMENT_TYPE_R8 Ein 8-Byte-Gleitkomma.
ELEMENT_TYPE_STRING Ein System.String-Typ.
ELEMENT_TYPE_PTR Ein Zeigertypmodifizierer.
ELEMENT_TYPE_BYREF Ein Verweistypmodifizierer.
ELEMENT_TYPE_VALUETYPE Ein Werttypmodifizierer.
ELEMENT_TYPE_CLASS Ein Klassentypmodifizierer.
ELEMENT_TYPE_VAR Ein Klassenvariablentypmodifizierer.
ELEMENT_TYPE_ARRAY Ein mehrdimensionaler Arraytypmodifizierer.
ELEMENT_TYPE_GENERICINST Ein Typmodifizierer für generische Typen.
ELEMENT_TYPE_TYPEDBYREF Ein typierter Verweis.
ELEMENT_TYPE_I Größe einer systemeigenen ganzzahligen Zahl.
ELEMENT_TYPE_U Größe einer nicht signierten nativen ganzzahligen Zahl.
ELEMENT_TYPE_FNPTR Ein Zeiger auf eine Funktion.
ELEMENT_TYPE_OBJECT Ein System.Object-Typ.
ELEMENT_TYPE_SZARRAY Ein eindimensionaler, null-gebundener Arraytypmodifizierer.
ELEMENT_TYPE_MVAR Ein Modifizierer für methodenvariablen Typ.
ELEMENT_TYPE_CMOD_REQD Eine C-Sprache, die modifizierer erforderlich ist.
ELEMENT_TYPE_CMOD_OPT Optionaler C-Sprachmodifizierer.
ELEMENT_TYPE_INTERNAL Intern verwendet.
ELEMENT_TYPE_MAX Ein ungültiger Typ.
ELEMENT_TYPE_MODIFIER Intern verwendet.
ELEMENT_TYPE_SENTINEL Ein Typmodifizierer, der ein Sentinel für eine Liste einer variablen Anzahl von Parametern ist.
ELEMENT_TYPE_PINNED Intern verwendet.

Bemerkungen

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

Hinweis

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

Typmodifizierer Format
ELEMENT_TYPE_PTR <ELEMENT_TYPE_PTR eines Werts CorElementType>
ELEMENT_TYPE_BYREF <ELEMENT_TYPE_BYREF eines Werts CorElementType>
ELEMENT_TYPE_VALUETYPE <ELEMENT_TYPE_VALUETYPE eines Metadatentokens mdTypeDef>
ELEMENT_TYPE_CLASS <ELEMENT_TYPE_CLASS eines Metadatentokens mdTypeDef>
ELEMENT_TYPE_VAR <ELEMENT_TYPE_VAR Zahl>
ELEMENT_TYPE_ARRAY ELEMENT_TYPE_ARRAY einer CorElementType Wertrangfolge1><><gebunden1 ...><<><countN><boundN>
ELEMENT_TYPE_GENERICINST <ELEMENT_TYPE_GENERICINST ein mdTypeDef Metadatentokenargument<>Count<>arg1> ... <argN>
ELEMENT_TYPE_FNPTR <ELEMENT_TYPE_FNPTR vollständige Signatur für die Funktion, einschließlich Aufrufkonvention>
ELEMENT_TYPE_SZARRAY ELEMENT_TYPE_SZARRAY eines Werts <CorElementType>
ELEMENT_TYPE_MVAR <ELEMENT_TYPE_MVAR Zahl>
ELEMENT_TYPE_CMOD_REQD <ELEMENT_TYPE_amdTypeRef- oder mdTypeDef Metadatentoken>
ELEMENT_TYPE_CMOD_OPT <E_T_CMOD_OPT eines oder mdTypeDef eines mdTypeRef Metadatentokens>

Anforderungen

Plattformen: Siehe .NET unterstützte Betriebssysteme.

Kopfball: CorHdr.h

.NET-Versionen: Verfügbar seit .NET Framework 1.0