Condividi tramite


OpCodes.Box Campo

Definizione

Converte un tipo di valore in un riferimento a un oggetto di 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 dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:

Formato Formato assembly Descrizione
8C <T> Casella valTypeToken Convertire un tipo di valore (del tipo specificato in ) in valTypeTokenun riferimento a un oggetto true.

Il comportamento di transizione dello stack, in ordine sequenziale, è:

  1. Un tipo di valore viene eseguito il push nello stack.

  2. Il tipo di valore viene rimosso dallo stack; viene eseguita l'operazione box .

  3. Un riferimento all'oggetto al tipo di valore "boxed" risultante viene eseguito il push nello stack.

Un tipo di valore include due rappresentazioni separate all'interno dell'infrastruttura del linguaggio comune (interfaccia della riga di comando):

  • Modulo 'raw' usato quando un tipo di valore viene incorporato all'interno di un altro oggetto o nello stack.

  • Modulo "boxed", in cui i dati nel tipo di valore vengono avvolti (in 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 generato se la memoria non è sufficiente per soddisfare la richiesta.

TypeLoadException viene generato se non è possibile trovare la classe. Questo viene in genere rilevato quando Microsoft Intermediate Language (MSIL) viene convertito in codice nativo anziché in fase di esecuzione.

L'overload del metodo seguente Emit può usare il box codice opcode:

Si applica a