Bagikan melalui


OpCodes.Ldflda Bidang

Definisi

Menemukan alamat bidang dalam objek yang referensinya saat ini berada di tumpukan evaluasi.

public: static initonly System::Reflection::Emit::OpCode Ldflda;
public static readonly System.Reflection.Emit.OpCode Ldflda;
 staticval mutable Ldflda : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldflda As OpCode 

Nilai Bidang

Keterangan

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

Format Format Rakitan Deskripsi
7C <T> ldflda field Mendorong alamat field 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; alamat bidang yang ditentukan dalam objek ditemukan.

  3. Alamat bidang yang ditentukan didorong ke tumpukan.

ldflda Instruksi mendorong alamat 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.

Nilai yang dikembalikan oleh ldflda adalah penunjuk terkelola (jenis &) kecuali objek didorong ke tumpukan sebagai penunjuk yang tidak dikelola, dalam hal ini alamat pengembalian juga merupakan penunjuk yang tidak dikelola (jenis native int).

ldflda Instruksi dapat didahului oleh salah satu atau kedua awalan Unaligned dan Volatile .

InvalidOperationException dilemparkan jika objek tidak berada dalam domain aplikasi tempat objek diakses. Alamat bidang yang tidak berada di dalam domain aplikasi akses tidak dapat dimuat.

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

Berlaku untuk