Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

OpCodes.Box, champ

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

Espace de noms :  System.Reflection.Emit
Assembly :  mscorlib (dans mscorlib.dll)

public static readonly OpCode Box

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

Format

Format d'assembly

Description

8C < T >

box valTypeToken

Convertit un type valeur (du type spécifié dans valTypeToken) en une référence d'objet True.

Le comportement de transition de la pile, dans un ordre séquentiel, est le suivant :

  1. Un type valeur fait l'objet d'un push dans la pile.

  2. Le type valeur est dépilé ; l'opération box est effectuée.

  3. Une référence d'objet au type valeur « boxed » obtenu fait l'objet d'un push dans la pile.

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

  • Forme « brute » utilisée lorsqu'un type valeur est incorporé dans un autre objet ou dans la pile.

  • une forme « boxed » où les données du type valeur sont encapsulées (converties) dans un objet afin qu'il puisse exister en tant qu'entité indépendante.

L'instruction box convertit le type valeur « brut » (unboxed) en une 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 récemment alloué. valTypeToken est un jeton de métadonnées indiquant le type valeur dans la pile.

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

TypeLoadException est levé si la classe est introuvable. Cette exception est généralement détectée lors de la conversion du code MSIL (Microsoft Intermediate Language) en code natif et non pas au moment de l'exécution.

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

  • ILGenerator.Emit(OpCode, Type)

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft