使用英语阅读

通过


OpCodes.Ldarga 字段

定义

将参数地址加载到计算堆栈上。

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

字段值

注解

下表列出了指令的十六进制和 Microsoft 中间语言 (MSIL) 程序集格式,以及简短的参考摘要:

格式 程序集格式 说明
FE 0A <unsigned int16> ldarga index 提取由 index编制索引的参数的地址。

堆栈过渡行为(按顺序排列)是:

  1. index 编制索引的参数的地址addr将推送到堆栈上。

指令ldarga提取由 index索引的参数的类型 &) 的地址 (,其中参数从 0 开始编制索引。 addr地址始终与目标计算机上的自然边界对齐。 参数存储在非托管内存中,因此返回值可以在不固定的情况下转换为非托管指针。

对于采用可变长度参数列表的过程, ldarga 指令只能用于初始固定参数,而不能用于签名的变量部分中的参数。

ldarga 用于 by-ref 参数传递。 对于其他情况, Ldarg 应使用 和 Starg

以下 Emit 方法重载可以使用 ldarga 操作码:

适用于

产品 版本
.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, 10
.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