OpCodes.Unbox_Any Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konwertuje skrzynkową reprezentację typu określonego w instrukcji na formularz bez skrzynki odbiorczej.
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
Wartość pola
Uwagi
W poniższej tabeli wymieniono format zestawu szesnastkowy i microsoft intermediate language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:
| Format | Format zestawu | Opis |
|---|---|---|
A5 <T> |
unbox.any typeTok |
Wyodrębnij dane z obj, jego reprezentację w polu. |
Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:
Odwołanie do obiektu
objjest wypychane do stosu.Odwołanie do obiektu jest zwinięte ze stosu i rozpakowane do typu określonego w instrukcji.
Wynikowe odwołanie do obiektu lub typ wartości jest wypychany do stosu.
Po zastosowaniu do formularza wartości typu wartości instrukcja unbox.any wyodrębnia wartość zawartą w obj (typu O), a zatem jest równoważna unbox, a następnie ldobj.
W przypadku zastosowania do typu odwołania instrukcja unbox.any ma taki sam efekt jak castclasstypeTok.
Jeśli operand typeTok jest parametrem typu ogólnego, zachowanie środowiska uruchomieniowego jest określane przez typ określony dla tego parametru typu ogólnego.
InvalidCastException jest zgłaszany, jeśli obj nie jest typem pola.
NullReferenceException jest zgłaszana, jeśli obj jest odwołaniem o wartości null.
Następujące przeciążenie metody Emit może używać unbox.any opcode: