我有一個抽象基類:爲什麼我可以抽象重寫一個抽象方法?
abstract class Foo
{
virtual void DoSomeStuff()
{
//Do Some Stuff
}
abstract void DoSomeCrazyStuff();
}
,並從該派生出的另一抽象類:
abstract class Bar : Foo
{
abstract override void DoSomeStuff();
abstract override void DoSomeCrazyStuff();
}
我明白你爲什麼會想抽象覆蓋DoSomeStuff()
- 這將需要一個新的實現進一步派生類。但我無法弄清楚爲什麼你想抽象覆蓋DoSomeCrazyStuff()
。據我所知,這是多餘的 - 我很確定刪除它將不會產生負面影響。
是否存在一些抽象重寫對抽象操作有用的用例?如果沒有,爲什麼沒有編譯器警告,告訴我我寫的內容什麼都不做?
這個鏈接可以幫助 - 「因爲規範是這麼說的」 http://msdn.microsoft.com/en-us/library/ms173150%28VS.80%29.aspx – terrybozzio
此落在範疇 –
看起來像是Roslyn的一個很好的功能請求。 –