OpCodes.Ldarg OpCodes.Ldarg OpCodes.Ldarg OpCodes.Ldarg Field


指定したインデックス値によって参照される引数をスタックに読み込みます。Loads an argument (referenced by a specified index value) onto the stack.

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



次の表は、命令の16進形式と Microsoft 中間言語 (MSIL) のアセンブリ形式と、簡単なリファレンスの概要を示しています。The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

形式Format アセンブリ形式Assembly Format 説明Description
FE 09 < unsigned int16 >FE 09 < unsigned int16 > ldargindexldarg index 引数をスタックindexに読み込みます。Load argument at index onto stack.

スタックの移行動作は、次の順序で実行されます。The stack transitional behavior, in sequential order, is:

  1. の引数値indexはスタックにプッシュされます。The argument value at index is pushed onto the stack.

命令ldargは、にインデックスが設定indexされた引数をプッシュします。引数は0以降から評価スタックにインデックスが付けられます。The ldarg instruction pushes the argument indexed at index, where arguments are indexed from 0 onwards, onto the evaluation stack. ldarg命令を使用すると、入力引数からコピーすることによって、値型またはプリミティブ値をスタックに読み込むことができます。The ldarg instruction can be used to load a value type or a primitive value onto the stack by copying it from an incoming argument. 引数の値の型は、現在のメソッドのシグネチャによって指定された引数の型と同じです。The type of the argument value is the same as the type of the argument, as specified by the current method's signature.

可変長の引数リストを受け取るプロシージャの場合、命令はldarg 、シグネチャの変数部分に含まれるものではなく、初期の固定引数に対してのみ使用できArglistます (詳細については、「」を参照してください)。For procedures that take a variable-length argument list, the ldarg instruction can be used only for the initial fixed arguments, not those in the variable part of the signature (see the Arglist instruction for more details).

長さが4バイトより小さい整数値を保持する引数は、スタックint32に読み込まれるときに型に拡張されます。Arguments that hold an integer value smaller than 4 bytes long are expanded to type int32 when they are loaded onto the stack. 浮動小数点値は、ネイティブサイズ (型F) に展開されます。Floating-point values are expanded to their native size (type F).

Emitのメソッドオーバーロードでは、 ldargオペコードを使用できます。The following Emit method overload can use the ldarg opcode:

  • ILGenerator (オペコード、short)ILGenerator.Emit(OpCode, short)