OpCodes.Ldarga Field

Definition

Load an argument address onto the evaluation stack.

public static readonly System.Reflection.Emit.OpCode Ldarga;

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:

  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. 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:

Applies to

Produkt Verzie
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0