使用英语阅读

通过


OpCodes.Ldarg 字段

定义

将自变量(由指定索引值引用)加载到堆栈上。

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

字段值

注解

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

格式 程序集格式 说明
FE 09 <unsigned int16> ldarg index 将参数加载 index 到堆栈上。

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

  1. index 的参数值将推送到堆栈上。

指令 ldarg 将索引的参数 index推送到计算堆栈上,其中参数从 0 开始编制索引。 指令 ldarg 可用于通过从传入参数复制值类型或基元值将其加载到堆栈上。 参数值的类型与当前方法的签名指定的参数类型相同。

对于采用可变长度参数列表的过程, ldarg 指令只能用于初始固定参数,而不能用于签名变量部分 (请参阅 Arglist 指令了解) 的更多详细信息。

包含小于 4 个字节长度的整数值的参数在加载到堆栈上时会扩展为类型 int32 。 浮点值将扩展到其本机大小 (类型 F) 。

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

适用于

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