ReSharper 2026.1 Help

アノテーションを使用してコードインスペクションを改善する

コードインスペクションや他の多くのReSharperの機能は、言語構成の動作を把握して問題を検出し、改善を提案し、他にもさまざまな形でサポートすることに大きく依存しています。

ただし、この種の分析ではすべてを検出できるわけではありません。 例: メソッドがフォーマットメソッドとして設計されている場合、メソッドの呼び出しに必要な引数が含まれていない場合、構造解析では潜在的な問題は見つかりません。

この場合や他の多くの場合、ReSharperの JetBrains.Annotations は非常に役立ちます。 このフレームワークで宣言されている属性を使用することで、ReSharperに必要な方法でコードを分析させることができます。 例: メソッドに [StringFormatMethod] のアノテーションを付けて、 System.String.Format() と同じように機能するカスタムメソッドを示すことができます。

[StringFormatMethod("message")] void ShowError(string message, params object[] args) { /* do something */ } void Foo(string failureDetails) { ShowError("Failed: {0}"); // Warning: Non-existing argument in format string }

これは最も単純な例であり、より複雑な使用例を持つ他の役立つ属性があります。 これらの属性の完全なリストは リファレンスにあります

ほとんどの場合、コードアノテーション属性は特定の コードインスペクションを有効化します。例えば:

また、コードアノテーションにより、 クイックフィックスコード補完の提案 、およびアノテーション付きアイテムの コード生成機能が可能になります。 アノテーションは ソーステンプレート を作成して使用するためにも必要です。

ReSharper では、コードシンボルにアノテーションを付ける方法が 2 つあります:

  • 上の例に示すように、ソースコード内のシンボルにアノテーションを付けることができます。 この場合、プロジェクトで JetBrains.Annotations 名前空間を参照する必要があります。 詳細については、 ソースコードのアノテーション を参照してください。

  • ソースにアクセスできない場合でも、コンパイルされたライブラリコード内のシンボルにアノテーションを付けることができます。 詳細については、 外部アノテーション を参照してください。

この機能は、次の言語とテクノロジーで サポートされています。

言語: C#

言語: VB.NET

言語: C++

言語: ASP.NET

言語: Razor

言語: XAML

言語: Resx

言語: スクリプトの作成

言語: SQL

この機能は C# で利用可能です

この機能は Visual Basic で利用可能です

この機能は C++ では使用できません

機能は ASP.NET で利用可能です

この機能は Razor で利用可能です

機能は XAML では使用できません

機能はリソースファイルでは使用できません

機能はビルドスクリプトファイルでは使用できません

機能は SQL/NoSQL ファイルおよびインジェクションでは利用できません

ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。

2026 年 6 月 12 日