OpCodes.Stfld フィールド

定義

オブジェクト参照またはポインターのフィールドに格納されている値を新しい値に置き換えます。

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

フィールド値

注釈

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

フォーマット アセンブリ形式 Description
7D <T> stfld field オブジェクトの field の値を新しい値に置き換えます。

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

  1. オブジェクト参照またはポインターがスタックにプッシュされます。

  2. 値がスタックにプッシュされます。

  3. 値とオブジェクト参照/ポインターはスタックからポップされます。オブジェクト内の field の値は、指定された値に置き換えられます。

stfld命令は、オブジェクトのフィールドの値 (型O) またはポインター (型native int&、または*) の値を特定の値に置き換えます。 Field は、フィールド メンバー参照を参照するメタデータ トークンです。 stfld命令には、UnalignedVolatileのいずれかまたは両方のプレフィックスを付けることができます。

NullReferenceException は、オブジェクト参照またはポインターが null 参照であり、フィールドが静的でない場合にスローされます。

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

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

適用対象