OpCodes.Ldobj フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アドレスが指す値型オブジェクトを評価スタックの先頭にコピーします。
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値型のインスタンスをスタックにコピーします。 |
スタック遷移の動作は、順番に次のようになります。
値型オブジェクトのアドレスがスタックにプッシュされます。
アドレスがスタックからポップされ、その特定のアドレスにあるインスタンスが検索されます。
そのアドレスに格納されているオブジェクトの値がスタックにプッシュされます。
ldobj命令は、値型をパラメーターとして渡すために使用されます。
ldobj命令は、(addrOfValObj、&、または*の) native intが指す値をスタックの先頭にコピーします。 コピーされるバイト数は、( class パラメーターで指定されている) クラスのサイズによって異なります。
class パラメーターは、値の型を表すメタデータ トークンです。
ldobj命令の操作は、直前のVolatileまたはプレフィックス命令Unaligned変更できます。
TypeLoadException は、クラスが見つからない場合にスローされます。 これは通常、Microsoft Intermediate Language (MSIL) 命令が実行時ではなくネイティブ コードに変換されるときに検出されます。
次の Emit メソッドオーバーロードでは、 ldobj オペコードを使用できます。