OpCodes.Box Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Converte un tipo valore in un riferimento a un oggetto (tipo 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
Valore del campo
Commenti
La tabella seguente elenca il formato di assembly MSIL (Intermediate Language) esadecimale e Microsoft istruzione, insieme a un breve riepilogo di riferimento:
| Formato | Formato assembly | Descrzione |
|---|---|---|
8C <T> |
Casella valTypeToken |
Convertire un tipo valore (del tipo specificato in ) in valTypeTokenun riferimento a un oggetto true. |
Il comportamento transitorio dello stack, in ordine sequenziale, è:
Viene eseguito il push di un tipo di valore nello stack.
Il tipo di valore viene estratto dallo stack; l'operazione
boxviene eseguita.Un riferimento all'oggetto al tipo di valore "boxed" risultante viene inserito nello stack.
Un tipo di valore ha due rappresentazioni separate all'interno di Common Language Infrastructure (CLI):
Modulo 'raw' utilizzato quando un tipo di valore è incorporato all'interno di un altro oggetto o nello stack.
Modulo "boxed", in cui i dati nel tipo di valore vengono racchiusi (boxed) in un oggetto in modo che possano esistere come entità indipendente.
L'istruzione box converte il tipo di valore 'raw' (unboxed) in un riferimento all'oggetto (tipo O). Questa operazione viene eseguita creando un nuovo oggetto e copiando i dati dal tipo di valore nell'oggetto appena allocato.
valTypeToken è un token di metadati che indica il tipo di valore nello stack.
OutOfMemoryException viene generata se la memoria non è sufficiente per soddisfare la richiesta.
TypeLoadException viene generata se non è possibile trovare la classe . Questo viene in genere rilevato quando Microsoft Linguaggio intermedio (MSIL) viene convertito in codice nativo, anziché in fase di esecuzione.
L'overload del metodo seguente Emit può usare il box codice operativo: