Bagikan melalui


OpCodes.Ldfld Bidang

Definisi

Menemukan nilai bidang dalam objek yang referensinya saat ini ada di tumpukan evaluasi.

public: static initonly System::Reflection::Emit::OpCode Ldfld;
public static readonly System.Reflection.Emit.OpCode Ldfld;
 staticval mutable Ldfld : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldfld 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
7B <T> ldfld field Mendorong nilai bidang dalam objek tertentu ke tumpukan.

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. Referensi objek (atau penunjuk) didorong ke tumpukan.

  2. Referensi objek (atau penunjuk) dimunculkan dari tumpukan; nilai bidang yang ditentukan dalam objek ditemukan.

  3. Nilai yang disimpan di bidang didorong ke tumpukan.

ldfld Instruksi mendorong nilai bidang yang terletak di objek ke tumpukan. Objek harus berada di tumpukan sebagai referensi objek (jenis O), penunjuk terkelola (jenis &), penunjuk yang tidak dikelola (jenis native int), penunjuk sementara (jenis *), atau instans jenis nilai. Penggunaan pointer yang tidak dikelola tidak diizinkan dalam kode yang dapat diverifikasi. Bidang objek ditentukan oleh token metadata yang harus merujuk ke anggota bidang. Jenis pengembalian sama dengan yang terkait dengan bidang . Bidang mungkin berupa bidang instans (dalam hal ini objek tidak boleh menjadi referensi null) atau bidang statis.

ldfld Instruksi dapat didahului dengan salah satu atau kedua awalan Unaligned dan Volatile .

NullReferenceException dilemparkan jika objek null dan bidang tidak statis.

MissingFieldException dilemparkan jika bidang yang ditentukan tidak ditemukan dalam metadata. Ini biasanya diperiksa ketika instruksi Microsoft Intermediate Language (MSIL) dikonversi ke kode asli, bukan pada waktu proses.

Metode berikut Emit kelebihan beban dapat menggunakan ldfld opcode:

Berlaku untuk