Bagikan melalui


OpCodes.Castclass Bidang

Definisi

Upaya untuk mentransmisikan objek yang diteruskan oleh referensi ke kelas yang ditentukan.

public: static initonly System::Reflection::Emit::OpCode Castclass;
public static readonly System.Reflection.Emit.OpCode Castclass;
[System.Runtime.InteropServices.ComVisible(true)]
public static readonly System.Reflection.Emit.OpCode Castclass;
 staticval mutable Castclass : System.Reflection.Emit.OpCode
[<System.Runtime.InteropServices.ComVisible(true)>]
 staticval mutable Castclass : System.Reflection.Emit.OpCode
Public Shared ReadOnly Castclass As OpCode 

Nilai Bidang

Atribut

Keterangan

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

Format Format Rakitan Deskripsi
74 <T> castclass class Melemparkan objek ke objek baru jenis class.

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. Referensi objek didorong ke tumpukan.

  2. Referensi objek muncul dari tumpukan; objek yang dirujuk ditransmisikan sebagai yang ditentukan class.

  3. Jika berhasil, referensi objek baru didorong ke tumpukan.

castclass Instruksi mencoba untuk mentransmisikan referensi objek (jenis O) di atas tumpukan ke kelas tertentu. Kelas baru ditentukan oleh token metadata yang menunjukkan kelas yang diinginkan. Jika kelas objek di bagian atas tumpukan tidak mengimplementasikan kelas baru (dengan asumsi kelas baru adalah antarmuka) dan bukan kelas turunan dari kelas baru maka dilemparkan InvalidCastException . Jika referensi objek adalah referensi null, castclass berhasil dan mengembalikan objek baru sebagai referensi null.

InvalidCastException dilemparkan jika obj tidak dapat dilemparkan ke kelas.

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 castclass opcode:

Berlaku untuk