Bagikan melalui


OpCodes.Isinst Bidang

Definisi

Menguji apakah referensi objek (jenis O) adalah instans kelas tertentu.

public: static initonly System::Reflection::Emit::OpCode Isinst;
public static readonly System.Reflection.Emit.OpCode Isinst;
 staticval mutable Isinst : System.Reflection.Emit.OpCode
Public Shared ReadOnly Isinst 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
75 <T> isinst class Menguji apakah referensi objek adalah instans class, mengembalikan referensi null atau instans kelas atau antarmuka tersebut.

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. Referensi objek didorong ke tumpukan.

  2. Referensi objek muncul dari tumpukan dan diuji untuk melihat apakah itu adalah instans kelas yang diteruskan di class.

  3. Hasilnya (referensi objek atau referensi null) didorong ke tumpukan.

Class adalah token metadata yang menunjukkan kelas yang diinginkan. Jika kelas objek di bagian atas tumpukan mengimplementasikan class (jika class merupakan antarmuka) atau merupakan kelas turunan ( class jika class adalah kelas biasa) maka dilemparkan ke jenis class dan hasilnya didorong pada tumpukan, persis seperti Castclass yang telah dipanggil. Jika tidak, referensi null didorong pada tumpukan. Jika referensi objek itu sendiri adalah referensi null, maka isinst demikian juga mengembalikan referensi null.

TypeLoadException dilemparkan jika kelas 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 isinst opcode:

Berlaku untuk