Compartilhar via


OpCodes.Unbox_Any Campo

Definição

Converte a representação em caixa de um tipo especificado na instrução em seu formulário sem caixa.

public: static initonly System::Reflection::Emit::OpCode Unbox_Any;
public static readonly System.Reflection.Emit.OpCode Unbox_Any;
 staticval mutable Unbox_Any : System.Reflection.Emit.OpCode
Public Shared ReadOnly Unbox_Any As OpCode 

Valor do campo

Comentários

A tabela a seguir lista o formato de assembly hexadecimal e de linguagem intermediária da Microsoft (MSIL) da instrução, juntamente com um breve resumo de referência:

Formato Formato de assembly Descrição
A5 <T> unbox.any typeTok Extraia os dados de obj, sua representação em caixa.

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

  1. Uma referência de objeto obj é enviada por push para a pilha.

  2. A referência de objeto é exibida da pilha e desacomparada para o tipo especificado na instrução.

  3. O tipo de valor ou referência de objeto resultante é enviado por push para a pilha.

Quando aplicado à forma em caixa de um tipo de valor, a instrução unbox.any extrai o valor contido em obj (do tipo O) e, portanto, é equivalente a unbox seguido por ldobj.

Quando aplicada a um tipo de referência, a instrução unbox.any tem o mesmo efeito que castclasstypeTok.

Se o operando typeTok for um parâmetro de tipo genérico, o comportamento do runtime será determinado pelo tipo especificado para esse parâmetro de tipo genérico.

InvalidCastException será gerada se obj não for um tipo de caixa.

NullReferenceException será gerada se obj for uma referência nula.

A seguinte sobrecarga do método Emit pode usar o unbox.any opcode:

Aplica-se a