我有几个类继承自BaseClass,后者具有一个称为GetData的抽象方法。在其中一个中,我希望基本上从其继承,并提供一个称为GetArticles的新方法,该方法从GetData调用。这是代码。
public abstract class BaseClass
{
internal abstract void GetData();
}
internal class FirstClass : BaseClass
{
internal override void GetData()
{
// calls GetArticles
}
protected void GetArticles()
{
}
}
internal class SecondClass : FirstClass
{
protected new void GetArticles()
{
}
}
GetClassicles从未在SecondClass中调用。即使我的对象是SecondClass类型,它也会在FirstClass中调用它。我无法在FirstClass Abstract中创建GetArticles,因为我想自己使用FirstClass。
有什么建议么?
最佳答案
在您的GetArticles
中将FirstClass
声明为虚拟。在第二个类中,删除new
并添加override