OpCodes.Ldobj 字段
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将地址指向的值类型对象复制到评估堆栈的顶部。
public: static initonly System::Reflection::Emit::OpCode Ldobj;
public static readonly System.Reflection.Emit.OpCode Ldobj;
staticval mutable Ldobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldobj As OpCode
字段值
注解
下表列出了指令的十六进制和Microsoft中间语言(MSIL)程序集格式,以及简短的参考摘要:
| Format | 程序集格式 | 说明 |
|---|---|---|
71 <T> |
ldobj class |
将值类型的 class 实例复制到堆栈。 |
堆栈过渡行为按顺序排列,为:
值类型对象的地址被推送到堆栈上。
该地址从堆栈中弹出,并查找位于该特定地址的实例。
存储在该地址处的对象的值将推送到堆栈上。
该 ldobj 指令用于将值类型作为参数传递。
该ldobj指令将指向的值(addrOfValObj类型&*或native int)复制到堆栈的顶部。 复制的字节数取决于类的大小(由 class 参数指定)。 参数 class 是表示值类型的元数据令牌。
指令的操作 ldobj 可以立即更改 Volatile 或 Unaligned 前缀指令。
TypeLoadException 如果找不到类,将引发 。 当Microsoft中间语言(MSIL)指令转换为本机代码而不是运行时时,通常会检测到这种情况。
以下 Emit 方法重载可以使用 ldobj 操作码: