OpCodes.Unbox_Any Fält

Definition

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:

  1. En objektreferens obj skickas till stacken.

  2. Objektreferensen poppas från stacken och tas bort till den typ som anges i instruktionen.

  3. 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:

Gäller för