16

Visual Studio 2012 Update 2 と ReSharper 7.1.1 のセットアップでは、このファイルAnnotations.csは新しいプロジェクトの作成時に生成されます。ReSharper がそれを行う理由と、これを無効にできるかどうかを説明している記事が見つかりません。私は ReSharper を IDE の拡張機能と考えています。また、ReSharper が自分のプロジェクトの背後にあるファイルを追加するとは思っていません。

4

1 に答える 1

23

このファイルには、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を参照してください。

于 2013-05-06T14:16:09.650 に答える