2010-02-25 48 views
5

我敢肯定,Visual Studio代码分析的早期版本警告有关使用NotImplementedException,即任何成员保证本为什么代码分析不会警告NotImplementedException?

throw new NotImplementedException(); 

将给予警告,CA。

这似乎不是要与Visual Studio 2008

是特定的规则删除,还是我只是想象它曾经存在的情况下?

+0

从2005年VS无警告,也没有相关的谷歌搜索结果的'“如何解决冲突” NotImplementedException' - 我不认为这是或默认规则集的一部分。 – AakashM 2010-02-25 10:14:15

+0

也许这是在FxCop,但从来没有在VS ... – 2010-02-25 12:37:34

回答

1

我不记得在微软出货的规则集中看到过这样的规则。这是我在日常工作中创建的第一批自定义规则之一,因为至少在FxCop 1.35的日子里,所以我不得不猜测它会回到FxCop 1.32的日子,如果它确实存在的话......

+0

我开始认为我的记忆与我玩技巧,但如果不是这样,自从我记得看到它以来肯定已经很长时间了。 – 2010-03-01 19:35:43

4

你可能会想this FxCop warning你扔从特殊的方法NotImplementedException时得到这样的属性获取,事件访问,平等相待,GetHashCode的,诸如此类处置:

CA1065:Microsoft.Design: “SomeClass的。 SomeProperty.get()' 创建类型为 'NotImplementedException'的异常, 异常类型不应为 在一个属性中提出。如果可能引发此异常实例 ,则 使用不同的异常类型, 将此属性转换为方法 或更改此属性的逻辑,以致它不再引发 异常。

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

0

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

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

1

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

Link provided in Error List window

相关问题