OpCodes.Starg 字段

定义

将位于计算堆栈顶部的值存储到位于指定索引的自变量槽中。

public: static initonly System::Reflection::Emit::OpCode Starg;
public static readonly System.Reflection.Emit.OpCode Starg;
 staticval mutable Starg : System.Reflection.Emit.OpCode
Public Shared ReadOnly Starg As OpCode 

字段值

注解

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

格式 程序集格式 说明
FE 0B <unsigned int16> starg num 从堆栈弹出顶部值,并将其存储在参数槽 num中。

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

  1. 当前位于堆栈顶部的值弹出并放置在参数槽 num中。

指令 starg 从堆栈中弹出一个值,并将其放置在参数槽 num中。 值的类型必须与当前方法的签名中指定的参数类型匹配。

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

将存储到包含小于 4 个字节的整数值的参数中,当值从堆栈移动到参数时,会截断该值。 浮点值从其本机大小 (类型 F) 舍入到与参数关联的大小。

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

适用于