可以將界面中的方法聲明標記爲「新」,但是它有任何「技術」意義,還是僅僅是明確聲明聲明不能覆蓋前一個聲明的方法?隱藏(使用「新」修飾符)接口方法聲明的目的是什麼?
例如:
interface II1
{
new void F();
}
interface II2 : II1
{
new void F();
}
有效(C#4.0編譯器不抱怨),但不會出現來自不同的:事先的任何信息
interface II1
{
void F();
}
interface II2 : II1
{
void F();
}
感謝。
編輯:你知道一個隱藏在界面中的場景嗎?
編輯:根據此鏈接:Is method hiding ever a good idea(感謝斯科特), 最常見的場景似乎是協變返回類型的仿真。
感謝您的回答。 所以它不會影響接口的使用方式? 我會編輯最初的帖子來澄清這一點。 – Pragmateek 2010-08-13 12:37:33
@Serious:不,唯一的區別是編譯器警告。我建議使用'new'關鍵字來清楚。那麼,不,我實際上會建議不要隱藏方法,因爲我覺得它很容易混淆,但是如果*需要*,使用'new'關鍵字。 – 2010-08-13 12:46:53
你說得對,我也沒有看到任何應該需要的有趣用例。 – Pragmateek 2010-08-13 13:04:18