OpCodes.Stsfld 字段

定义

用来自计算堆栈的值替换静态字段的值。

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

字段值

注解

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

格式 程序集格式 说明
80 <T> stsfld field 将 中的 field 值替换为提供的值。

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

  1. 将值推送到堆栈上。

  2. 从堆栈中弹出一个值并存储在 中 field

指令 stsfld 将静态字段的值替换为堆栈中的值。 field 是必须引用静态字段成员的元数据标记。

指令 stsfld 可能以 Volatile为前缀。

MissingFieldException 如果在元数据中找不到字段,则引发 。 当 Microsoft 中间语言 (MSIL) 指令转换为本机代码而不是在运行时时,通常会对此进行检查。

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

适用于

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