OpCodes.Initobj 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.
Menginisialisasi setiap bidang jenis nilai pada alamat tertentu ke referensi null atau 0 dari jenis primitif yang sesuai.
public: static initonly System::Reflection::Emit::OpCode Initobj;
public static readonly System.Reflection.Emit.OpCode Initobj;
staticval mutable Initobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Initobj 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 |
---|---|---|
<
T
> FE 15 |
initobj
typeTok
|
Menginisialisasi jenis nilai. |
Perilaku transisi tumpukan, dalam urutan berurutan, adalah:
Alamat jenis nilai yang akan diinisialisasi didorong ke tumpukan.
Alamat muncul dari tumpukan; jenis nilai pada alamat yang ditentukan diinisialisasi sebagai jenis
typeTok
.
Instruksi initobj
menginisialisasi setiap bidang dari jenis nilai yang ditentukan oleh alamat yang didorong (jenis native int
, &
, atau *
) ke referensi null atau 0 dari jenis primitif yang sesuai. Setelah metode ini dipanggil, instans siap untuk metode konstruktor yang akan dipanggil. Jika typeTok
adalah jenis referensi, instruksi ini memiliki efek yang sama dengan ldnull
diikuti oleh stind.ref
.
Tidak seperti Newobj, initobj
tidak memanggil metode konstruktor.
Initobj
ditujukan untuk menginisialisasi jenis nilai, sementara newobj
digunakan untuk mengalokasikan dan menginisialisasi objek.
Kelebihan metode Emit berikut dapat menggunakan opcode initobj
: