OpCodes.Unbox_Any Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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, è:
Viene eseguito il push di un riferimento a un oggetto
obj
nello stack.Il riferimento all'oggetto viene estratto dallo stack e unboxed al tipo specificato nell'istruzione .
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 castclass
typeTok
.
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
: