【发布时间】:2016-11-25 18:44:09
【问题描述】:
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()。我知道如果我在 base 中使用virutal,它会调用Child.GetNo()
但是我不能在Base中使用virutal,因为我必须从已经分布在DLL中的base派生我的类。所以我无法修改基类的现有功能。
任何建议都会被重视。 谢谢
【问题讨论】:
-
你有更多关于你想使用它的上下文的信息吗?由于基类方法不打算被覆盖,也许通过组合而不是继承来解决它更好?
标签: c# inheritance