Udostępnij za pośrednictwem


OpCodes.Unbox_Any Pole

Definicja

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:

  1. Odwołanie do obiektu obj jest wypychane do stosu.

  2. Odwołanie do obiektu jest zwinięte ze stosu i rozpakowane do typu określonego w instrukcji.

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

Dotyczy