ReSharper生成此文件:Annotations.cs。为什么?

时间:2013-05-06 14:07:32

标签: c# visual-studio-2012 resharper resharper-7.1

在使用Visual Studio 2012 Update 2和ReSharper 7.1.1的设置中,在创建新项目时会生成此文件Annotations.cs。我找不到任何文章描述为什么ReSharper会这样做,如果有可能禁用它。我认为ReSharper是IDE的增强功能 - 我不希望ReSharper将我的项目添加到我的背后。

1 个答案:

答案 0 :(得分:20)

此文件包含ReSharper代码注释的定义。

  

代码检查和许多其他ReSharper功能在很大程度上依赖于源代码的启发式分析来检测问题,建议可能的改进,并以其他方式帮助您。

     

但是,启发式分析无法检测到所有内容。例如,如果一个方法被设计为永远不会返回null并且其客户端是相应设计的,那么如果有人将方法更改为返回null,则没有启发式分析可以帮助找到可能的问题。

     

在这个以及很多其他案例中,Annotated Framework提供了很大的帮助。通过使用此框架中声明的属性,您可以使ReSharper以您需要的方式分析代码:

[NotNull]
public object Foo()
{
    return null; // Warning: Possible 'null' assignment
}
  

这是最简单的示例,在Annotated Framework中还有其他有用的属性和更复杂的用例。您可以在参考资料中找到这些属性的完整列表。

有关详细信息,请参阅http://www.jetbrains.com/resharper/webhelp/Code_Analysis__Code_Annotations.html