OpCodes.Cpobj 字段

定义

将位于对象地址处的值类型 (&native int) 复制到目标对象的地址 (类型 &native int) 。

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

字段值

注解

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

格式 程序集格式 说明
70 <T> cpobj classTok 将值类型从源对象复制到目标对象。

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

  1. 目标对象引用将推送到堆栈上。

  2. 源对象引用将推送到堆栈上。

  3. 从堆栈中弹出两个对象引用;源对象地址处的值类型将复制到目标对象的地址。

如果源和目标对象引用不是指向类标记 (或 typedef) 表示的类实例的指针,或者如果 classTok 不表示值类型,则未指定 的行为cpobjtyperefclassTok

NullReferenceException 如果检测到无效的地址,可能会引发 。

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

适用于

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