【发布时间】:2014-09-12 04:21:39
【问题描述】:
我有一个抽象基类:
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()。据我所知,它是多余的 - 我很确定删除它会产生零负面影响。
是否存在一些用例,其中抽象的抽象覆盖会做一些有用的事情?如果没有,为什么没有编译器警告告诉我我写的东西什么都不做?
【问题讨论】:
-
这属于“因为规范是这样说的。”
-
看起来对 Roslyn 的功能要求很好。
标签: c#