使用英语阅读

通过


OpCodes.Ldsflda 字段

定义

将静态字段的地址推送到计算堆栈上。

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

字段值

注解

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

格式 程序集格式 说明
7F <T> ldsflda field 在堆栈上推送 的 field 地址

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

  1. 特定字段的地址将推送到堆栈上。

指令 ldsflda 将静态 (的地址推送到堆栈上类) 字段的所有实例之间共享。 如果元数据标记field引用其内存托管的类型*,则地址可以表示为类型 (暂时性指针) 。 否则,它对应于非托管指针 (类型 native int) 。 请注意, field 可以是一个静态全局,具有分配的相对虚拟地址 (字段与将包含 PE 文件加载到内存) (其中内存不受管理)的基址的偏移量。

指令 ldsflda 可以具有 Volatile 前缀。

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

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

适用于

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