我很确定以前版本的Visual Studio Code Analysis警告使用NotImplementedException,即包含此内容的任何成员
throw new NotImplementedException();
会发出CA警告。
Visual Studio 2008似乎不是这样。
是否删除了特定规则,或者我只是想象它曾经存在过?
答案 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的分析平台。
答案 3 :(得分:0)
不幸的是,标准规则集中没有这样的规则。
您可以在one of my other answers找到我的实现。