Sdílet prostřednictvím


OpCodes.Unbox_Any Pole

Definice

Převede krabicovou reprezentaci typu zadaného v pokynu na jeho unboxed form.

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 

Hodnota pole

Poznámky

Následující tabulka uvádí šestnáctkový formát sestavení jazyka MSIL (Microsoft Intermediate Language) a stručný přehled referenčních informací:

Formát Formát sestavení Popis
< T > A5 unbox.any typeTok Extrahujte data z obj, jeho boxed reprezentace.

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. Odkaz na objekt obj je vložen do zásobníku.

  2. Odkaz na objekt se zobrazí ze zásobníku a rozbalí se na typ zadaný v instrukci.

  3. Výsledný odkaz na objekt nebo typ hodnoty se vloží do zásobníku.

Pokud se použije na krabicovou formu typu hodnoty, unbox.any instrukce extrahuje hodnotu obsaženou v obj (typu O), a proto je ekvivalentní unbox následované ldobj.

Při použití na typ odkazu má instrukce unbox.any stejný účinek jako castclasstypeTok.

Pokud je operand typeTok parametr obecného typu, je chování modulu runtime určeno typem zadaným pro tento parametr obecného typu.

InvalidCastException je vyvolána, pokud obj není typ pole.

NullReferenceException je vyvolán, pokud obj je odkaz null.

Následující přetížení metody Emit může použít unbox.any opcode:

Platí pro