请看下面的非编译C#代码在同级别覆盖的方法:覆盖和
public abstract class Operation
{
public abstract void Work();
}
public abstract class Operation<T> : Operation
{
public override void Work()
{
Work();
}
public new abstract T Work();
}
虽然可以引入一个新的名字在基类中重写一个,它似乎并没有被可能仍然覆盖基类中的前一个方法 - 为了执行覆盖,必须定义冲突的方法。
有没有我忽略的东西,或者这是不可能做到的?
方法不能因返回类型而异 – vmeln
当您遇到编译器错误时,请尝试读取它。如果你不理解它,请提出一个关于它的问题,但请包括错误信息。 –
尝试在新的Work方法中放置base.Work()。它应该是“新的虚拟”,而不是抽象的 – Frode