我有虛擬方法的基類。我有孩子類,它已覆蓋此方法。然後我有孩子的孩子,但我怎麼可以重寫相同的方法?如果我嘗試向第二類添加'虛擬',我會收到消息:'覆蓋方法不能被標記爲虛擬'。如果我嘗試向第三類添加'覆蓋',我會得到以下消息:'這是不適合覆蓋的方法'。如何覆蓋非虛擬方法?
如何解決此問題?
我可以從第一個繼承第三個類,但實際上我想從第二個類繼承一些方法。
public virtual T Save (T entity)
{
//removed code
return entity;
}
public override T Save(T entity)
{
//removed code
return entity;
}
public T Save(T entity)
{
return entity;
}
請問你能顯示所有三個簽名嗎? –
在孩子上指定'override'應該可以。你確定簽名是一樣的嗎?你可以從每個班發佈有問題的方法嗎? – Bobson
添加的代碼(問題) – Alexan