OpCodes.Initobj フィールド

定義

指定したアドレスにある値型の各フィールドを 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 値型を初期化します。

スタック遷移の動作は、順番に次のようになります。

  1. 初期化する値型のアドレスがスタックにプッシュされます。

  2. アドレスはスタックからポップされます。指定したアドレスの値の型が 型 typeTokとして初期化されます。

命令はinitobj、プッシュされたアドレス (型 、&、または *) で指定された値型の各フィールドを null 参照または適切なプリミティブ型native intの 0 に初期化します。 このメソッドが呼び出されると、インスタンスはコンストラクター メソッドを呼び出す準備が整います。 が参照型の場合typeTok、この命令の後stind.refに と同じ効果ldnullがあります。

initobjとは異なりNewobj、 はコンストラクター メソッドを呼び出しません。 Initobj は値型を初期化することを目的としていますが newobj 、 は オブジェクトの割り当てと初期化に使用されます。

Emit のメソッド オーバーロードでは、オペコードを initobj 使用できます。

適用対象