Bagikan melalui


OpCodes.Unbox_Any Bidang

Definisi

Mengonversi representasi berkotak tipe yang ditentukan dalam instruksi ke formulir yang tidak dikotak.

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 

Nilai Bidang

Keterangan

Tabel berikut mencantumkan format rakitan heksadesimal dan bahasa perantara Microsoft (MSIL) instruksi, bersama dengan ringkasan referensi singkat:

Format Format Rakitan Deskripsi
A5 <T> unbox.any typeTok Ekstrak data dari obj, representasi kotaknya.

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. Referensi obj objek didorong ke tumpukan.

  2. Referensi objek muncul dari tumpukan dan tidak dikotak ke jenis yang ditentukan dalam instruksi.

  3. Referensi objek yang dihasilkan atau jenis nilai didorong ke tumpukan.

Ketika diterapkan ke bentuk kotak dari jenis nilai, unbox.any instruksi mengekstrak nilai yang terkandung dalam obj (dari jenis O), dan karenanya setara dengan unbox diikuti oleh ldobj.

Ketika diterapkan ke jenis referensi, unbox.any instruksi memiliki efek yang sama dengan castclasstypeTok.

Jika operand typeTok adalah parameter jenis generik, maka perilaku runtime ditentukan oleh jenis yang ditentukan untuk parameter jenis generik tersebut.

InvalidCastException dilemparkan jika obj bukan jenis kotak.

NullReferenceException dilemparkan jika obj merupakan referensi null.

Metode berikut Emit kelebihan beban dapat menggunakan unbox.any opcode:

Berlaku untuk