次の方法で共有


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) アセンブリ形式と、簡単なリファレンスの概要を示します。

形式 アセンブリ形式 説明
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 使用できます。

適用対象