如何查看虚拟函数表
本文关键字:函数 虚拟 何查看 | 更新日期: 2023-09-27 18:31:10
我有两个类。一个类继承自另一个类。我也使用多态性与虚函数。 我可以看到虚拟函数表吗?我想了解虚函数的机制。
public class A
{
public virtual void foo()
{
}
}
public class B:A
{
public override void foo()
{
}
}
...
A a=new B();
a.SomeMethod();//show table of virtual function
实际上不可能
看到虚拟表,因为 CLR 多态机制不是基于为每个实例分配的指向虚拟表的指针,就像您可能从C++语言中熟悉的那样。
.NET 为每个实例保留一个指向类型对象的指针,该指针分别指向管理要调用的实际实现的方法表。
查看此处了解更多详情。