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

时间:2015-02-25 18:38:00

标签: c# .net visual-studio-2013 compiler-warnings method-overriding

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

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

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

1 个答案:

答案 0 :(得分:7)

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

  

转到项目属性 - >构建

检查特定警告:在“将警告视为错误”下并指定: 0114 作为警告编号。

enter image description here

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

对于你的问题:

  

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

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