在方法覆盖中未调用基类实现时生成错误/警告

时间:2017-02-16 13:41:04

标签: c# visual-studio-2015 resharper

我们正在使用 Visual Studio 2015 Resharper Ultimate 2016.3.2

如果有人覆盖基类的虚方法(在我们的例子中为C#)但是没有调用基类实现,是否有办法获取错误或警告?在大多数情况下,调用基类是必须的,对于我真的不想调用基类的少数情况,我希望能够通过注释禁用错误或警告。

我想确保没有人忘记调用基类,如果它真的不打算调用基类,那么必须写一个注释,说明为什么不在这里。

class A
{
    public virtual void Something(){...}
}
class B : A
{
    public override void Something()
    {
        base.Something();//everything fine. no error or warning.
        someOtherCode...
    }
}
class C : A
{
    public override void Something()
    {
        <-- generate error or warning here
        someOtherCode...
    }
}
class D : A
{
    public override void Something()
    {
        // ReSharper disable once ...: Reason why I don't want to call the base class
        <-- No error or warning here because of the comment.
        someOtherCode...
    }
}

0 个答案:

没有答案