ReSharper 2026.1 Help

クイックフィックスの例

クイックフィックスは、さまざまな状況で利用できますが、リストアップするには大きすぎます。 ReSharper は、サポートされているすべての言語で合計 1200 を超えるクイックフィックスを提供します。 ここでは、状況の小さな選択を使用して使用する方法を示します:

型の不一致

式の型を式コンテキストに適用できる型へ暗黙的にキャストできない場合、ReSharper がこのエラーを検出し、エディターでハイライトします。 ハイライトされたエラーにキャレットを置き、 Alt+Enter を押すと、次のリストからクイックフィックスを選択できます。

ReSharper: 型の不一致のクイックフィックス

提案されているクイックフィックスを適用した場合の影響を下の表に示します。

クイックフィックス

効果

string にキャスト

ReSharper: 型の不一致のクイックフィックス

string に安全にキャスト

ReSharper: 型の不一致のクイックフィックス

o のタイプを string に変更

ReSharper: 型の不一致のクイックフィックス

s のタイプを object に変更

ReSharper: 型の不一致のクイックフィックス

ToString() を呼び出す

ReSharper: 型の不一致のクイックフィックス

未定義の変数

ReSharper がコード内で未定義の変数を検出すると、エラーがハイライトされます。 ハイライトされたエラーにキャレットを置き、 Alt+Enter を押すと、次のクイックフィックスのリストが表示されます。

ReSharper: 未定義の変数のクイックフィックス

提案されているクイックフィックスを適用した場合の影響を下の表に示します。

クイックフィックス

効果

ローカル変数 s を作成します

新しいローカル変数 s が作成され、目的の型を選択することができます。

包含メソッドにパラメーター s を作成します

新しいパラメーターがメソッドシグネチャーに追加されます。

ReSharper: 未定義の変数のクイックフィックス

その他を作成

対応するクラスのフィールドまたはプロパティを作成することを選択できるサブメニューを開きます。 例: フィールドの作成を選択すると、現在のクラスに新しいプライベートフィールド s が作成されます。 新しいフィールドの正しいタイプを選択するのに役立つ次の提案が表示されます。

ReSharper: 未定義の変数のクイックフィックス

すべての s を変更

すべて変更 を選択すると、次の提案が表示されます。

ReSharper: 未定義の変数のクイックフィックス

新しい名前は一度だけ入力してください。ReSharper が未定義変数の他のすべての出現箇所を変更します:

ReSharper: 未定義の変数のクイックフィックス

未定義のメソッド呼び出し

ReSharper がコード内で未定義のメソッドの呼び出しを検出すると、エラーがハイライトされます。 ハイライトされたエラーにキャレットを置き、 Alt+Enter を押すと、ReSharper は次のクイックフィックスのリストを表示します:

ReSharper: 未定義のメソッド呼び出しのクイックフィックス

クイックフィックスを適用すると、コードは次の表のように変更されます。

クイックフィックス

効果

メソッドの作成

このクイックフィックスでは、メソッドコールから派生したシグネチャーを使用して新しいメソッドを宣言し、トップダウンプログラミングを好む開発者に役立ちます。 この例では、ReSharper が戻り値の型を正しく推測して次の宣言を作成します:

ReSharper: 未定義のメソッド呼び出しのクイックフィックス

ReSharper は、新しいメソッドのパラメーターの適用可能な型と名前も提案します:

ReSharper: 未定義のメソッド呼び出しのクイックフィックス

その他を作成

このサブメニューには、補助コードの作成を含むその他のクイックフィックスが含まれています。 たとえば、次のようになります。

包含メソッドにパラメーターを作成

このクイックフィックスは、未解決のシンボルから現在のメソッドに新しいパラメーターを作成しますが、その基底メソッドや継承先は更新しません。

包含メソッドにパラメーターを作成して階層を更新

このクイックフィックスは、未解決のシンボルから現在のメソッドに新しいパラメーターを作成し、このパラメーターを基底メンバーや継承先にも追加します。

すべて変更

未定義変数 に対応するクイックフィックスと同様に、このクイックフィックスを使うと、シンボル someMethod のすべての出現箇所をすばやく置き換えられます。

忘れられたメソッドの戻り

メソッドが値を返すことが期待されているにも関わらず、 return ステートメントを提供し忘れた場合、ReSharper は問題のあるメソッドの終了角括弧をハイライトして警告します。 ハイライトされたエラーにキャレットを置き、 Alt+Enter を押すと、次のクイックフィックスが表示されます。

ReSharper: 忘れられたメソッドがクイックフィックスを返す

クイックフィックス

効果

return ステートメントの追加

クイックフィックスが適用された後、ReSharper は return ステートメントを追加し、 null を返します。

メソッドが void を返すようにする

クイックフィックスが適用された後、ReSharper はメソッドの初期戻り値の型を void に置き換えます。

Using ディレクティブがありません

ファイルに対応する using ディレクティブを書き忘れたために解決できないタイプ名がコードに含まれているときはいつでも、小さなポップアップがタイプをインポートすることを提案します。

ReSharper: 名前空間インポートのクイックフィックス

Alt+Enter を押すと、適切な using ディレクティブが挿入されます。 一致する名前を持つタイプが複数ある場合は、使用するタイプを選択するよう求められます (詳細については、「インポートする名前空間 」を参照してください)。

ポップアップが表示された際に必要な名前空間をインポートしなかった場合や、ReSharper オプション Alt+R、O コード編集 | タイプインポート ページで エディターで「不足している参照のインポート」ポップアップを表示する を無効化した場合でも、型にキャレットを置き、 Alt+Enter を押して対応するクイックフィックスを選択することで、いつでも型をインポートできます。

ReSharper: 欠落している名前空間のインポートのクイックフィックス

たとえば、ソリューションにシステムタイプに似たもの (MyFramework.MyCollections.List など) があるが、実際には使用していない場合など、一部のタイプまたは名前空間を提案しないようにしたい場合があります。 このような項目を候補から除外したい場合は、 コード編集 | タイプインポート ページの ReSharper オプション Alt+R、O インポートおよび補完から除外 リストに追加してください。

エントリの形式は、 Fully.Qualified.NameFully.Qualified.Name.Prefix**Fully.Qualified.Name.Suffix です。 ジェネリクス型は List`1 として指定されます。

不足している非同期修飾子

await 演算子を含むが非同期として定義されていないメソッドがある場合、ReSharper はそのような不一致を検出し、対応するクイックフィックスによる修正を提案します。

Before:

ReSharper: 不足している非同期修飾子のクイックフィックス

クイックフィックスの適用:

ReSharper: 不足している非同期修飾子のクイックフィックス

以降:

ReSharper: 不足している非同期修飾子のクイックフィックス

ループを LINQ 式に変換する

C# 3.0 と LINQ を使用することで、開発者はその意図をコンパイラーに直接記述することで、データ集約型コードをより簡単に記述することができます。 ReSharper は、LINQ 構文を使って書き換え可能なコードを検出し、自動で変換を提案します:

Before:

ReSharper: ループを LINQ 式のクイックフィックスに変換する

クイックフィックスの適用:

ReSharper: ループを LINQ 式のクイックフィックスに変換する

以降:

ReSharper: ループを LINQ 式のクイックフィックスに変換する

メソッドのパラメーターと戻り値で IEnumerable に移行する

ReSharper はコードベースをスキャンし、 ArrayListArrayList などのより具体的な型の代わりに IEnumerable を安全に返し、受け入れ可能なメソッドを検出します:

Before:

ReSharper: メソッドのパラメーターと戻り値で IEnumerable に移行する

クイックフィックスの適用:

ReSharper: メソッドのパラメーターと戻り値で IEnumerable に移行する

以降:

ReSharper: メソッドのパラメーターと戻り値で IEnumerable に移行する

代入文をオブジェクトイニシャライザーに変換する

ReSharper は、代入ステートメントをオブジェクトイニシャライザーに変換するコンテキストアクションとクイックフィックスの両方を提供します。 コンテキストアクションを使用すると、フィールドの割り当てを 1 つずつイニシャライザーに追加できますが、クイックフィックスではすべてを一度に追加できます。 クイックフィックスの仕組みは次のとおりです。

Before:

ReSharper: 代入文をオブジェクトイニシャライザーに変換する

クイックフィックスの適用:

ReSharper: 代入文をオブジェクトイニシャライザーに変換する

以降:

ReSharper: 代入文をオブジェクトイニシャライザーに変換する

静的メソッド呼び出しを拡張メソッド呼び出しに変換する

C# の従来の static メソッドとして拡張メソッドを呼び出した場合、ReSharper は標準的な拡張メソッドの呼び出し習慣へすばやく準拠できるよう支援します:

Before:

ReSharper: 静的メソッド呼び出しを拡張メソッド呼び出しに変換する

クイックフィックスの適用:

ReSharper: 静的メソッド呼び出しを拡張メソッド呼び出しに変換する

以降:

ReSharper: 静的メソッド呼び出しを拡張メソッド呼び出しに変換する

匿名メソッドをラムダ式に変換する

ReSharper は匿名メソッドをラムダ式に変換することを提案します。 逆の機能はコンテキストアクションとして提供されます。

Before:

ReSharper: 匿名メソッドをラムダ式に変換する

クイックフィックスの適用:

ReSharper: 匿名メソッドをラムダ式に変換する

以降:

ReSharper: 匿名メソッドをラムダ式に変換する

自動プロパティに変換する

ReSharper を使うと、従来のプライベートフィールドベースのプロパティを C# 3.0 に実装された自動プロパティに簡単に変換できます。 詳細については、 自動プロパティを使用する を参照してください。

Before:

ReSharper: 自動プロパティに変換する

クイックフィックスの適用:

ReSharper: 自動プロパティに変換する

以降:

ReSharper: 自動プロパティに変換する

型パラメーターを不変にする

型パラメーターの使用がその変性に違反している場合、ReSharper はパラメーターを不変にすることを提案します:

Before:

ReSharper: 型パラメーターを不変にする

クイックフィックスの適用:

ReSharper: 型パラメーターを不変にする

以降:

ReSharper: 型パラメーターを不変にする
2026 年 6 月 12 日