为什么Code Analysis没有警告NotImplementedException?

时间:2010-02-25 09:50:59

标签: visual-studio code-analysis notimplementedexception

我很确定以前版本的Visual Studio Code Analysis警告使用NotImplementedException,即包含此内容的任何成员

throw new NotImplementedException();

会发出CA警告。

Visual Studio 2008似乎不是这样。

是否删除了特定规则,或者我只是想象它曾经存在过?

4 个答案:

答案 0 :(得分:4)

你可能正在考虑从特殊方法抛出NotImplementedException时得到的this FxCop warning,例如属性getter,事件访问器,Equals,GetHashCode,Dispose等:

  

CA1065:Microsoft.Design:   'SomeClass.SomeProperty.get()'   创建类型的异常   'NotImplementedException',一个   不应该的异常类型   在一处房产中筹集如果这   可能会引发异常实例,   使用不同的异常类型,   将此属性转换为方法,   或者改变这个属性的逻辑   它不再提出一个   异常。

但是,它与NotImplementedException没有明确关系。 FxCop有可以(直接)抛出这些方法的异常的白名单。

答案 1 :(得分:1)

我不记得曾在微软发布的规则集中看到过这样的规则。这是我在日常工作中创建的第一个自定义规则之一,至少是FxCop 1.35的日子,所以我不得不猜测,如果它确实存在的话,它会回到FxCop 1.32的时代...... / p>

答案 2 :(得分:1)

我知道这是一个老问题,但我在使用Visual Studio 2017运行代码分析时将其作为警告(2017年9月12日)。这是Wim Coenen提到的“CA1065”代码,因此它似乎微软必须将FxCop规则移植到基于Roslyn的分析平台。

Link provided in Error List window

答案 3 :(得分:0)

不幸的是,标准规则集中没有这样的规则。

您可以在one of my other answers找到我的实现。