Condividi tramite


OpCodes.Unbox_Any Campo

Definizione

Converte la rappresentazione boxed di un tipo specificato nell'istruzione nel formato unboxed.

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 

Valore del campo

Commenti

La tabella seguente elenca il formato di assembly MSIL (Esadecimale e MSIL) dell'istruzione, insieme a un breve riepilogo di riferimento:

Formato Formato assembly Descrizione
A5 <T> unbox.any typeTok Estrarre i dati da obj, la relativa rappresentazione boxed.

Il comportamento transitorio dello stack, in ordine sequenziale, è:

  1. Viene eseguito il push di un riferimento a un oggetto obj nello stack.

  2. Il riferimento all'oggetto viene estratto dallo stack e unboxed al tipo specificato nell'istruzione .

  3. Il tipo di riferimento o valore dell'oggetto risultante viene inserito nello stack.

Se applicato alla forma boxed di un tipo valore, l'istruzione unbox.any estrae il valore contenuto all'interno di obj (di tipo O) ed è pertanto equivalente a unbox seguito da ldobj.

Se applicato a un tipo riferimento, l'istruzione unbox.any ha lo stesso effetto di castclasstypeTok.

Se l'operando typeTok è un parametro di tipo generico, il comportamento di runtime viene determinato dal tipo specificato per il parametro di tipo generico.

InvalidCastException viene generata se obj non è un tipo boxed.

NullReferenceException viene generata se obj è un riferimento Null.

L'overload del metodo Emit seguente può usare il codice operativo unbox.any:

Si applica a