OpCodes.Unbox_Any Campo

Definição

Converte a representação demarcada de um tipo especificado na instrução em sua forma não demarcada.

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 msil da instrução, juntamente com um breve resumo de referência:

Formatar 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 obj de objeto é enviada por push para a pilha.

  2. A referência de objeto é exibida da pilha e sem caixa 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 aplicada à forma em caixa de um tipo de valor, a unbox.any instrução 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 unbox.any instrução tem o mesmo efeito que castclasstypeTok.

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

InvalidCastException será gerado se obj não for um tipo em caixa.

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

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

Aplica-se a