如何查看虚函数表

时间:2013-09-12 19:07:28

标签: c#

我有两个class.One类继承自另一个。我也使用多态与虚函数。我可以看一下虚函数表吗?我想了解虚函数的机制。

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

1 个答案:

答案 0 :(得分:2)

实际上看不到虚拟表是不可能的,因为CLR多态机制不是基于为每个实例分配的指针,指针指向您可能熟悉的C ++语言的虚拟表。

.NET为每个实例保留一个指向类型对象的指针,它们分别指向一个方法表,用于管理要调用的实际实现。

查看here了解更多详情。