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
objnello 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 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: