OpCodes.Ldarga Field
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Load an argument address onto the evaluation stack.
public: static initonly System::Reflection::Emit::OpCode Ldarga;
public static readonly System.Reflection.Emit.OpCode Ldarga;
staticval mutable Ldarga : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldarga As OpCode
Field Value
Remarks
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 0A < unsigned int16 > |
ldarga index |
Fetch the address of argument indexed by index . |
The stack transitional behavior, in sequential order, is:
- The address
addr
of the argument indexed byindex
is pushed onto the stack.
The ldarga
instruction fetches the address (of type &
) of the argument indexed by index
, where arguments are indexed from 0 onwards. The address addr
is always aligned to a natural boundary on the target machine. The argument is stored in unmanaged memory, so the return value can be converted to an unmanaged pointer without pinning.
For procedures that take a variable-length argument list, the ldarga
instruction can be used only for the initial fixed arguments, not those in the variable part of the signature.
ldarga
is used for by-ref parameter passing. For other cases, Ldarg and Starg should be used.
The following Emit method overload can use the ldarga
opcode: