OpCodes.Unbox Champ

Définition

Convertit la représentation boxée d’un type valeur en son formulaire non encadré.

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

Valeur de champ

Remarques

Le tableau suivant répertorie le format d'assembly MSIL (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :

Format Format d’assembly Description
79 <T> Unbox valType Extrait les données de type valeur à partir de obj, sa représentation boxée.

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

  1. Une référence d’objet est envoyée (push) sur la pile.

  2. La référence d’objet est dépilée de la pile et nonboxée vers un pointeur de type valeur.

  3. Le pointeur de type valeur est envoyé (push) sur la pile.

Un type valeur a deux représentations distinctes dans l’interface CLI (Common Language Infrastructure) :

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

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

L’instruction unbox convertit la référence d’objet (type O), la représentation boxée d’un type valeur, en pointeur de type valeur (pointeur managé, type &), son formulaire non encadré. Le type de valeur fourni (valType) est un jeton de métadonnées indiquant le type de type valeur contenu dans l’objet boxed.

Contrairement Boxà ce qui est nécessaire pour effectuer une copie d’un type valeur à utiliser dans l’objet, unbox il n’est pas nécessaire de copier le type valeur à partir de l’objet. En règle générale, il calcule simplement l’adresse du type valeur déjà présent à l’intérieur de l’objet boxed.

InvalidCastException est levée si l’objet n’est pas boxé en tant que valType.

NullReferenceException est levée si la référence d’objet est une référence Null.

TypeLoadException est levée si le type valType valeur est introuvable. Cela est généralement détecté lorsque Microsoft instructions MSIL (Intermediate Language) sont converties en code natif, plutôt qu’au moment de l’exécution.

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

S’applique à