OpCodes.Ldfld フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
参照が現在評価スタック上にあるオブジェクト内のフィールドの値を検索します。
public: static initonly System::Reflection::Emit::OpCode Ldfld;
public static readonly System.Reflection.Emit.OpCode Ldfld;
staticval mutable Ldfld : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldfld As OpCode
フィールド値
注釈
次の表に、命令の 16 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単な参照の概要を示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
7b <T > |
ldfld field |
指定したオブジェクト内のフィールドの値をスタックにプッシュします。 |
スタック遷移の動作は、順番に次のようになります。
オブジェクト参照 (またはポインター) がスタックにプッシュされます。
オブジェクト参照 (またはポインター) がスタックからポップされます。オブジェクト内の指定されたフィールドの値が見つかりました。
フィールドに格納されている値は、スタックにプッシュされます。
命令は ldfld
、オブジェクト内にあるフィールドの値をスタックにプッシュします。 オブジェクトは、オブジェクト参照 (型)、マネージド ポインター (型 O
)、アンマネージ ポインター (型 &
)、一時的なポインター (型 native int
)、または値型 *
のインスタンスとしてスタック上にある必要があります。 アンマネージド ポインターの使用は、検証可能なコードでは許可されていません。 オブジェクトのフィールドは、フィールド メンバーを参照する必要があるメタデータ トークンによって指定されます。 戻り値の型は、 フィールドに関連付けられている型と同じです。 フィールドは、インスタンス フィールド (この場合、オブジェクトを null 参照にすることはできません) または静的フィールドのいずれかになります。
命令のldfld
前には、 プレフィックスと Volatile プレフィックスのいずれかまたは両方をUnaligned指定できます。
NullReferenceException は、オブジェクトが null で、フィールドが静的でない場合にスローされます。
MissingFieldException は、指定されたフィールドがメタデータに見つからない場合にスローされます。 これは通常、Microsoft Intermediate Language (MSIL) 命令が実行時ではなくネイティブ コードに変換されるときにチェックされます。
次 Emit のメソッド オーバーロードでは、オペコードを ldfld
使用できます。
適用対象
.NET