請看下面的非編譯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