OpCodes.Ldarga Field

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Load an argument address onto the evaluation stack.

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)


Public Shared ReadOnly Ldarga As OpCode
public static readonly OpCode Ldarga


The following table lists the instruction's hexadecimal and Microsoft intermediate language (MSIL) assembly format, along with a brief reference summary:


Assembly Format


FE 0A < unsigned int16 >

ldarga index

Fetch the address of argument indexed by index.

The stack transitional behavior, in sequential order, is:

  1. The address addr of the argument indexed by index 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.

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:

  • ILGenerator.Emit(OpCode, short)

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1


Windows Phone

See Also


OpCodes Class

System.Reflection.Emit Namespace