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 ini mencantumkan format rakitan bahasa perantara (MSIL) heksadesimal 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 objek obj didorong ke tumpukan.

  2. Referensi objek dimunculkan dari tumpukan dan 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, instruksi unbox.any mengekstrak nilai yang terkandung dalam obj (dari jenis O), dan oleh karena itu setara dengan unbox diikuti oleh ldobj.

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

Jika typeTok operand 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 adalah referensi null.

Kelebihan metode Emit berikut dapat menggunakan opcode unbox.any:

Berlaku untuk