OpCodes.Box Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Converte um tipo de valor em uma 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 do campo
Comentários
A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:
Formatar | Formato de assembly | Descrição |
---|---|---|
8C <T > |
Caixa valTypeToken |
Converta um tipo de valor (do tipo especificado em ) em valTypeToken uma referência de objeto verdadeira. |
O comportamento de transição da pilha, em ordem sequencial, é:
Um tipo de valor é enviado por push para a pilha.
O tipo de valor é exibido da pilha; a
box
operação é executada.Uma referência de objeto para o tipo de valor "boxed" resultante é enviada por push para a pilha.
Um tipo de valor tem duas representações separadas na CLI (Common Language Infrastructure):
Um formulário 'bruto' usado quando um tipo de valor é inserido em outro objeto ou na pilha.
Um formulário 'boxed', em que os dados no tipo de valor são encapsulados (em caixa) em um objeto para que possam existir como uma entidade independente.
A box
instrução converte o tipo de valor 'raw' (unboxed) em uma referência de objeto (tipo O
). Isso é feito 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 será gerado se não houver memória suficiente para atender à solicitação.
TypeLoadException será gerado se a classe não puder ser encontrada. Normalmente, isso é detectado quando a MSIL (Microsoft Intermediate Language) é convertida em código nativo, em vez de em runtime.
Emit A seguinte sobrecarga de método pode usar o box
opcode: