OpCodes.Box Campo
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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, é:
Um tipo de valor é empurrado para a pilha.
O tipo de valor é retirado da pilha; A
boxoperação é realizada.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: