Bagikan melalui


OpCodes.Mkrefany Bidang

Definisi

Mendorong referensi yang diketik ke instans jenis tertentu ke tumpukan evaluasi.

public: static initonly System::Reflection::Emit::OpCode Mkrefany;
public static readonly System.Reflection.Emit.OpCode Mkrefany;
 staticval mutable Mkrefany : System.Reflection.Emit.OpCode
Public Shared ReadOnly Mkrefany 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
C6 <T> mkrefany class Mendorong referensi jenis class yang diketik ke tumpukan.

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. Pointer ke bagian data didorong ke tumpukan.

  2. Penunjuk diisi dan dikonversi ke referensi tipe tipe class.

  3. Referensi yang diketik didorong ke tumpukan.

mkrefany Instruksi ini mendukung lolosnya referensi yang ditik secara dinamis. Penunjuk harus berjenis &, , *atau native int, dan menyimpan alamat yang valid dari sepotong data. Class adalah token kelas yang menjelaskan jenis data yang direferensikan oleh penunjuk. Mkrefany mendorong referensi yang ditik pada tumpukan, menyediakan deskriptor buram penunjuk dan jenis class.

Satu-satunya operasi valid yang diizinkan pada referensi jenis adalah meneruskannya ke metode yang memerlukan referensi jenis sebagai parameter. Penerima panggilan kemudian dapat menggunakan Refanytype instruksi dan Refanyval untuk mengambil jenis (kelas) dan alamat masing-masing.

TypeLoadException dibuang jika class tidak dapat ditemukan. Ini biasanya terdeteksi ketika instruksi Microsoft Intermediate Language (MSIL) dikonversi ke kode asli daripada pada runtime.

Metode berikut Emit kelebihan beban dapat menggunakan mkrefany opcode:

Berlaku untuk