Condividi tramite


Enumerazione CorElementType

Specifica un Type Common Language Runtime, un modificatore di tipo o informazioni su un tipo in una firma del tipo di metadati.

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;

Membri

Membro

Oggetto di descrizione

ELEMENT_TYPE_END

Per uso interno.

ELEMENT_TYPE_VOID

Un tipo void.

ELEMENT_TYPE_BOOLEAN

Un tipo booleano

ELEMENT_TYPE_CHAR

Un tipo carattere.

ELEMENT_TYPE_I1

Intero con segno a 1 byte.

ELEMENT_TYPE_U1

Intero senza segno a 1 byte.

ELEMENT_TYPE_I2

Intero con segno a 2 byte.

ELEMENT_TYPE_U2

Intero senza segno a 2 byte.

ELEMENT_TYPE_I4

Intero con segno a 4 byte.

ELEMENT_TYPE_U4

Intero senza segno a 4 byte.

ELEMENT_TYPE_I8

Intero con segno a 8 byte.

ELEMENT_TYPE_U8

Intero senza segno a 8 byte.

ELEMENT_TYPE_R4

Valore in virgola mobile a 4 byte.

ELEMENT_TYPE_R8

Valore in virgola mobile a 8 byte.

ELEMENT_TYPE_STRING

Un tipo System.String.

ELEMENT_TYPE_PTR

Un modificatore di tipo puntatore.

ELEMENT_TYPE_BYREF

Un modificatore di tipo riferimento.

ELEMENT_TYPE_VALUETYPE

Un modificatore di tipo valore.

ELEMENT_TYPE_CLASS

Un modificatore di tipo classe.

ELEMENT_TYPE_VAR

Un modificatore di tipo variabile di classe .

ELEMENT_TYPE_ARRAY

Un modificatore di tipo matrice multidimensionale.

ELEMENT_TYPE_GENERICINST

Un modificatore di tipo per tipi generici.

ELEMENT_TYPE_TYPEDBYREF

Un riferimento tipizzato.

ELEMENT_TYPE_I

Dimensione di un numero intero nativo.

ELEMENT_TYPE_U

Dimensione di un numero intero nativo senza segno.

ELEMENT_TYPE_FNPTR

Un puntatore a una funzione.

ELEMENT_TYPE_OBJECT

Un tipo System.Object

ELEMENT_TYPE_SZARRAY

Un modificatore unidimensionale di tipo matrice con limite inferiore uguale a zero.

ELEMENT_TYPE_MVAR

Un modificatore di tipo variabile di metodo.

ELEMENT_TYPE_CMOD_REQD

Un modificatore richiesto dal linguaggio C.

ELEMENT_TYPE_CMOD_OPT

Un modificatore facoltativo del linguaggio C.

ELEMENT_TYPE_INTERNAL

Per uso interno.

ELEMENT_TYPE_MAX

Un tipo non valido.

ELEMENT_TYPE_MODIFIER

Per uso interno.

ELEMENT_TYPE_SENTINEL

Un modificatore di tipo che è una sentinella per un elenco di un numero variabile di parametri.

ELEMENT_TYPE_PINNED

Per uso interno.

ELEMENT_TYPE_R4_HFA

Utilizzato internamente.

ELEMENT_TYPE_R8_HFA

Per uso interno.

Note

I modificatori di tipo formano la base per la rappresentazione di tipi più complessi. Un valore del modificatore di tipo CorElementType è applicato al valore che immediatamente lo segue nella firma del tipo. Il valore che segue il valore del modificatore di tipo CorElementType può essere un valore di tipo semplice CorElementType, un token di metadati o un altro valore come specificato nella tabella seguente.

NotaNota

Tutti i numeri (number, argument Count, metadata token, rank, count e bound) sono archiviati come interi compressi.Per informazioni dettagliate, vedere Standard ECMA-335 - Common Language Infrastructure (CLI) sul sito Web ECMA (informazioni in lingua inglese).

Modificatore di tipo

Format

ELEMENT_TYPE_PTR

ELEMENT_TYPE_PTR <un valore CorElementType>

ELEMENT_TYPE_BYREF

ELEMENT_TYPE_BYREF <un valore CorElementType>

ELEMENT_TYPE_VALUETYPE

ELEMENT_TYPE_VALUETYPE <un token di metadati mdTypeDef>

ELEMENT_TYPE_CLASS

ELEMENT_TYPE_CLASS <un token di metadati mdTypeDef>

ELEMENT_TYPE_VAR

ELEMENT_TYPE_VAR <numero>

ELEMENT_TYPE_ARRAY

ELEMENT_TYPE_ARRAY <un valore CorElementType> <classifica> < conteggio1 > < limite1 >... <conteggioN> <limiteN>

ELEMENT_TYPE_GENERICINST

ELEMENT_TYPE_GENERICINST <un token di metadati mdTypeDef> <argomento Conteggio> <arg1>... <argN>

ELEMENT_TYPE_FNPTR

ELEMENT_TYPE_FNPTR <firma completa per la funzione, inclusa la convenzione di chiamata>

ELEMENT_TYPE_SZARRAY

ELEMENT_TYPE_SZARRAY <un valore CorElementType>

ELEMENT_TYPE_MVAR

ELEMENT_TYPE_MVAR <numero>

ELEMENT_TYPE_CMOD_REQD

ELEMENT_TYPE_ <un mdTypeRef o un token di metadati mdTypeDef>

ELEMENT_TYPE_CMOD_OPT

E_T_CMOD_OPT <un mdTypeRef o un token di metadati mdTypeDef>

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorHdr.h

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vedere anche

Altre risorse

Enumerazioni dei metadati