OpCodes.Box Campo

Definição

Converte um tipo de valor numa referência de objeto (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 

Valor de Campo

Observações

A tabela seguinte lista o formato hexadecimal e assembly da Microsoft Intermediate Language (MSIL) da instrução, juntamente com um breve resumo de referência:

Formato Formato de Montagem Descrição
8C <T> Caixa valTypeToken Converter um tipo de valor (do tipo especificado em valTypeToken) numa referência verdadeira de objeto.

O comportamento de transição da pilha, por ordem sequencial, é:

  1. Um tipo de valor é empurrado para a pilha.

  2. O tipo de valor é retirado da pilha; A box operação é realizada.

  3. Uma referência de objeto ao tipo de valor "em caixa" resultante é empurrada para a pilha.

Um tipo de valor tem duas representações separadas dentro da Common Language Infrastructure (CLI):

  • Uma forma 'bruta' usada quando um tipo de valor está embutido noutro objeto ou na pilha.

  • Uma forma 'em caixa', onde os dados do tipo de valor são encapsulados (em caixa) num objeto para que possam existir como uma entidade independente.

A box instrução converte o tipo de valor 'bruto' (sem caixa) numa referência de objeto (tipo O). Isto é conseguido criando um novo objeto e copiando os dados do tipo de valor para o objeto recém-alocado. valTypeToken é um token de metadados que indica o tipo do tipo de valor na pilha.

OutOfMemoryException é lançado se não houver memória suficiente para satisfazer o pedido.

TypeLoadException é lançado se a classe não puder ser encontrada. Isto é tipicamente detetado quando a Microsoft Intermediate Language (MSIL) é convertida para código nativo, em vez de em tempo de execução.

O seguinte Emit método de sobrecarga pode usar o box opcode:

Aplica-se a