OpCodes.Ldobj フィールド

定義

アドレスが指す値型オブジェクトを評価スタックの先頭にコピーします。

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

フィールド値

注釈

次の表に、命令の 16 進数および Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンス概要を示します。

フォーマット アセンブリ形式 Description
71 <T> ldobj class class値型のインスタンスをスタックにコピーします。

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

  1. 値型オブジェクトのアドレスがスタックにプッシュされます。

  2. アドレスがスタックからポップされ、その特定のアドレスにあるインスタンスが検索されます。

  3. そのアドレスに格納されているオブジェクトの値がスタックにプッシュされます。

ldobj命令は、値型をパラメーターとして渡すために使用されます。

ldobj命令は、(addrOfValObj&、または*の) native intが指す値をスタックの先頭にコピーします。 コピーされるバイト数は、( class パラメーターで指定されている) クラスのサイズによって異なります。 class パラメーターは、値の型を表すメタデータ トークンです。

ldobj命令の操作は、直前のVolatileまたはプレフィックス命令Unaligned変更できます。

TypeLoadException は、クラスが見つからない場合にスローされます。 これは通常、Microsoft Intermediate Language (MSIL) 命令が実行時ではなくネイティブ コードに変換されるときに検出されます。

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

適用対象