次の方法で共有


OpCodes.Ldarg フィールド

指定したインデックス値によって参照される引数をスタックに読み込みます。

Public Shared ReadOnly Ldarg As OpCode
[C#]
public static readonly OpCode Ldarg;
[C++]
public: static OpCode Ldarg;
[JScript]
public static var Ldarg : OpCode;

解説

命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。

形式 アセンブリ形式 説明
FE 09 < unsigned int16 > ldarg index index の引数をスタックに読み込みます。

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

  1. index の引数値がスタックにプッシュされます。

ldarg 命令は、インデックスが index である引数を評価スタックにプッシュします。このインデックスは 0 から始まります。 ldarg 命令を使用すると、受信引数から値型またはプリミティブ値をコピーして、それを評価スタックに読み込むことができます。引数値の型は、現在のメソッドのシグネチャによって指定された引数の型と同じです。

可変長の引数リストをとるプロシージャの場合、 ldarg 命令は、最初の固定引数には使用できますが、シグネチャの可変部分の引数には使用できません。詳細については、 Arglist 命令のトピックを参照してください。

4 バイト長より小さい整数値を保持している引数は、スタックに読み込まれるときに、 int32 型に拡張されます。浮動小数点値は、ネイティブ サイズ (F 型) に拡張されます。

ldarg オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。

  • ILGenerator.Emit(OpCode, short)

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間