OpCodes.Unbox_Any Fält
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Konverterar den boxade representationen av en typ som anges i instruktionen till dess oboxade formulär.
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
Fältvärde
Kommentarer
I följande tabell visas instruktionens sammansättningsformat för hexadecimalt och Microsoft mellanliggande språk (MSIL), tillsammans med en kort referenssammanfattning:
| Format | Sammansättningsformat | Description |
|---|---|---|
A5 <T> |
unbox.any typeTok |
Extrahera data från obj, dess boxade representation. |
Stackens övergångsbeteende i sekventiell ordning är:
En objektreferens
objskickas till stacken.Objektreferensen poppas från stacken och tas bort till den typ som anges i instruktionen.
Den resulterande objektreferensen eller värdetypen skickas till stacken.
När den tillämpas på den boxade formen av en värdetyp extraherar instruktionen unbox.any värdet i obj (av typen O) och motsvarar unbox därför följt av ldobj.
När instruktionen tillämpas på en referenstyp har den unbox.any samma effekt som castclasstypeTok.
Om operand typeTok är en allmän typparameter bestäms körningsbeteendet av den typ som anges för den generiska typparametern.
InvalidCastException utlöses om obj det inte är en boxad typ.
NullReferenceException genereras om obj är en null-referens.
Följande Emit metodöverlagring kan använda unbox.any opcode: