Partager via


OpCodes.Box Champ

Définition

Convertit un type valeur en référence d'objet (type O).

public: static initonly System::Reflection::Emit::OpCode Box;
public static readonly System.Reflection.Emit.OpCode Box;
 staticval mutable Box : System.Reflection.Emit.OpCode
Public Shared ReadOnly Box As OpCode 

Valeur de champ

Remarques

Le tableau suivant répertorie le format d’assembly MSIL et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :

Format Format d’assembly Description
8C <T> Boîte valTypeToken Convertissez un type valeur (du type spécifié dans ) en valTypeTokenréférence d’objet true.

Le comportement transitionnel de la pile, dans l’ordre séquentiel, est le suivant :

  1. Un type de valeur est envoyé dans la pile.

  2. Le type de valeur est extrait de la pile ; l’opération box est effectuée.

  3. Une référence d’objet au type de valeur « boxed » résultant est envoyée dans la pile.

Un type valeur a deux représentations distinctes au sein de l’infrastructure cli (Common Language Infrastructure) :

  • Formulaire « brut » utilisé lorsqu’un type valeur est incorporé dans un autre objet ou dans la pile.

  • Formulaire « boxed », où les données du type valeur sont encapsulées (encadrées) dans un objet afin qu’elles puissent exister en tant qu’entité indépendante.

L’instruction box convertit le type de valeur « raw » (unboxed) en référence d’objet (type O). Pour ce faire, créez un objet et copiez les données du type valeur dans l’objet nouvellement alloué. valTypeToken est un jeton de métadonnées indiquant le type du type de valeur sur la pile.

OutOfMemoryException est levée si la mémoire est insuffisante pour répondre à la demande.

TypeLoadException est levée si la classe est introuvable. Cela est généralement détecté lorsque Microsoft Intermediate Language (MSIL) est converti en code natif, plutôt qu’au moment de l’exécution.

La surcharge de méthode suivante Emit peut utiliser l’opcode box :

S’applique à