Bagikan melalui


OpCodes.Unbox Bidang

Definisi

Mengonversi representasi kotak dari tipe nilai ke formulir yang tidak dikotak.

public: static initonly System::Reflection::Emit::OpCode Unbox;
public static readonly System.Reflection.Emit.OpCode Unbox;
 staticval mutable Unbox : System.Reflection.Emit.OpCode
Public Shared ReadOnly Unbox As OpCode 

Nilai Bidang

Keterangan

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

Format Format Rakitan Deskripsi
79 <T> batalkan kotak valType Mengekstrak data jenis nilai dari obj, representasi kotaknya.

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. Referensi objek didorong ke tumpukan.

  2. Referensi objek dimunculkan dari tumpukan dan tidak dikotak ke penunjuk tipe nilai.

  3. Penunjuk jenis nilai didorong ke tumpukan.

Jenis nilai memiliki dua representasi terpisah dalam Common Language Infrastructure (CLI):

  • Formulir 'mentah' yang digunakan saat jenis nilai disematkan dalam objek lain.

  • Formulir 'kotak', di mana data dalam jenis nilai dibungkus (dikotak) ke dalam objek sehingga dapat ada sebagai entitas independen.

unbox Instruksi mengonversi referensi objek (jenis O), representasi kotak dari jenis nilai, menjadi penunjuk jenis nilai (penunjuk terkelola, jenis &), formulir yang tidak dikotak. Jenis nilai yang disediakan (valType) adalah token metadata yang menunjukkan jenis nilai yang terkandung dalam objek kotak.

Tidak seperti Box, yang diperlukan untuk membuat salinan jenis nilai untuk digunakan dalam objek, unbox tidak diperlukan untuk menyalin jenis nilai dari objek. Biasanya hanya menghitung alamat jenis nilai yang sudah ada di dalam objek kotak.

InvalidCastException dilemparkan jika objek tidak dikotak sebagai valType.

NullReferenceException dilemparkan jika referensi objek adalah referensi null.

TypeLoadException dilemparkan jika jenis valType nilai tidak dapat ditemukan. Ini biasanya terdeteksi ketika instruksi Microsoft Intermediate Language (MSIL) dikonversi ke kode asli, bukan pada runtime.

Metode berikut Emit kelebihan beban dapat menggunakan unbox opcode:

Berlaku untuk