OpCodes.Initobj フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したアドレスにある値型の各フィールドを、null 参照または適切なプリミティブ型の 0 に初期化します。
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
フィールド値
注釈
次の表に、命令の 16 進数および Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンス概要を示します。
形式 | アセンブリ形式 | 形容 |
---|---|---|
FE 15 <T > |
initobj
typeTok
|
値型を初期化します。 |
スタック遷移の動作は、順番に次のようになります。
初期化する値型のアドレスがスタックにプッシュされます。
アドレスはスタックからポップされます。指定されたアドレスの値型は型
typeTok
として初期化されます。
initobj
命令は、プッシュされたアドレス (native int
、&
、または *
) で指定された値型の各フィールドを、null 参照または適切なプリミティブ型の 0 に初期化します。 このメソッドが呼び出されると、インスタンスはコンストラクター メソッドを呼び出す準備が整います。
typeTok
が参照型の場合、この命令は ldnull
後に stind.ref
と同じ効果を持ちます。
Newobjとは異なり、initobj
はコンストラクター メソッドを呼び出しません。
Initobj
は値型の初期化を目的としていますが、newobj
はオブジェクトの割り当てと初期化に使用されます。
次の Emit メソッドオーバーロードでは、initobj
オペコードを使用できます。
適用対象
.NET