当虚方法隐藏基类时,如何强制编译错误?

Ton*_*ich 3 .net c# overriding compiler-warnings visual-studio-2013

我在基类中有一个虚方法,它有一个完整的实现.从这个类派生的开发人员可能会错误地创建一个具有相同名称的方法,而不会覆盖基类(不知道有一个适当的基类方法可以使用).编译器发出警告,指出新方法隐藏了基本方法.

问题是编译器警告很容易被忽略或没有被注意到.有没有办法给你一个编译器错误..或者你脸上的某种警告?我希望开发人员有意识地覆盖基本方法,如果他们想要使用自己的实现而不是只创建一个具有相同名称的实现.我不能强迫其他开发人员的Visual Studio将警告设置为错误.此外,已有警告,没有人会修复.

附带问题:如果当前VS2013和C#5无法解决这个问题,那么VS 2015或C#6是否会添加任何有助于此问题的内容?

Hab*_*bib 7

您可以更改项目属性以将特定警告视为错误.

转到项目属性 - >构建

检查特定警告:在"将警告视为错误"下,并指定:0114作为警告编号.

在此输入图像描述

现在,此特定警告将显示为错误.这可能会有所帮助,但主要取决于开发人员,如果他们选择首先忽略警告,那么他们也可能会意外地从构建属性中删除此警告编号.

对于你的问题:

VS 2015或C#6是否添加了有助于解决此问题的任何内容?

对于C#6.0,您将在Visual Studio 2015中获得相同的行为/警告.它与以前的版本相同.

  • +1提供实际答案而不是告诉OP解雇他们的团队.有时您会遇到继承遗留项目并且使用大量警告构建的情况,并且您不能只是去修复它们,但是您希望确保不引入某些新问题. (2认同)