OpCodes.Ldvirtftn 字段
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将指向实现与指定对象关联的特定虚方法的本机代码的非托管指针(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 。 |
堆栈过渡行为(按顺序排列)为:
对象引用被推送到堆栈上。
对象引用从堆栈中弹出,并查找元数据标记
method
) 指定的方法 (入口点的地址。指向
method
的指针被推送到堆栈上。
如果指令引用托管方法 (或从托管代码) 转换为非托管代码的存根,则可以使用 Calli 指令调用由指令推送到堆栈ldvirtftn
的生成的非托管指针。
非托管指针使用 CLR 调用约定指向本机代码。 此方法指针不应作为回调例程传递给非托管本机代码。
以下 Emit 方法重载可以使用 ldvirtftn
opcode: