class Parent
{
public int GetNo()
{
return 1;
}
}
class Child : Parent
{
public Child()
{
}
public int GetNo()
{
return 2;
}
}
Parent p = new Child();
p.GetNo();
但是它调用
Base.GetNo()
。我知道如果我使用virutal,它将调用Child.GetNo()
但是我不能在基类中使用virutal,因为我必须从已经分布在DLL中的基类派生我的类,所以我无法修改基类的现有功能。
任何建议都是有价值的。
谢谢
最佳答案
您可以投射它:
((Child)p).GetNo();
要么
if(p is Child)
(p as Child).GetNo();