OpCodes.Ldvirtftn 字段

定义

将指向实现与指定对象关联的特定虚方法的本机代码的非托管指针(native int 类型)推送到计算堆栈上。

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

字段值

注解

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

格式 程序集格式 说明
FE 07 <T> ldvirtftn method 将指针推送到堆栈上对象的虚拟方法 method

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

  1. 对象引用被推送到堆栈上。

  2. 对象引用从堆栈中弹出,并查找元数据标记 method) 指定的方法 (入口点的地址。

  3. 指向 method 的指针被推送到堆栈上。

如果指令引用托管方法 (或从托管代码) 转换为非托管代码的存根,则可以使用 Calli 指令调用由指令推送到堆栈ldvirtftn的生成的非托管指针。

非托管指针使用 CLR 调用约定指向本机代码。 此方法指针不应作为回调例程传递给非托管本机代码。

以下 Emit 方法重载可以使用 ldvirtftn opcode:

适用于