OpCodes.Isinst Bidang
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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:
Referensi objek didorong ke tumpukan.
Referensi objek muncul dari tumpukan dan diuji untuk melihat apakah itu adalah instans kelas yang diteruskan di
class
.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: