クイックフィックスの例
クイックフィックスは、さまざまな状況で利用できますが、リストアップするには大きすぎます。 ReSharper は、サポートされているすべての言語で合計 1200 を超えるクイックフィックスを提供します。 ここでは、状況の小さな選択を使用して使用する方法を示します:
型の不一致
式の型を式コンテキストに適用できる型へ暗黙的にキャストできない場合、ReSharper がこのエラーを検出し、エディターでハイライトします。 ハイライトされたエラーにキャレットを置き、 Alt+Enter を押すと、次のリストからクイックフィックスを選択できます。

提案されているクイックフィックスを適用した場合の影響を下の表に示します。
クイックフィックス | 効果 |
|---|---|
| |
| |
| |
| |
|
未定義の変数
ReSharper がコード内で未定義の変数を検出すると、エラーがハイライトされます。 ハイライトされたエラーにキャレットを置き、 Alt+Enter を押すと、次のクイックフィックスのリストが表示されます。

提案されているクイックフィックスを適用した場合の影響を下の表に示します。
クイックフィックス | 効果 |
|---|---|
ローカル変数 | 新しいローカル変数 |
包含メソッドにパラメーター | 新しいパラメーターがメソッドシグネチャーに追加されます。 ![]() |
その他を作成 | 対応するクラスのフィールドまたはプロパティを作成することを選択できるサブメニューを開きます。 例: フィールドの作成を選択すると、現在のクラスに新しいプライベートフィールド ![]() |
すべての | すべて変更 を選択すると、次の提案が表示されます。 ![]() 新しい名前は一度だけ入力してください。ReSharper が未定義変数の他のすべての出現箇所を変更します: |
未定義のメソッド呼び出し
ReSharper がコード内で未定義のメソッドの呼び出しを検出すると、エラーがハイライトされます。 ハイライトされたエラーにキャレットを置き、 Alt+Enter を押すと、ReSharper は次のクイックフィックスのリストを表示します:

クイックフィックスを適用すると、コードは次の表のように変更されます。
クイックフィックス | 効果 |
|---|---|
メソッドの作成 | このクイックフィックスでは、メソッドコールから派生したシグネチャーを使用して新しいメソッドを宣言し、トップダウンプログラミングを好む開発者に役立ちます。 この例では、ReSharper が戻り値の型を正しく推測して次の宣言を作成します: ![]() ReSharper は、新しいメソッドのパラメーターの適用可能な型と名前も提案します: ![]() |
その他を作成 | このサブメニューには、補助コードの作成を含むその他のクイックフィックスが含まれています。 たとえば、次のようになります。
|
すべて変更 | 未定義変数 に対応するクイックフィックスと同様に、このクイックフィックスを使うと、シンボル |
忘れられたメソッドの戻り
メソッドが値を返すことが期待されているにも関わらず、 return ステートメントを提供し忘れた場合、ReSharper は問題のあるメソッドの終了角括弧をハイライトして警告します。 ハイライトされたエラーにキャレットを置き、 Alt+Enter を押すと、次のクイックフィックスが表示されます。

クイックフィックス | 効果 |
|---|---|
return ステートメントの追加 | クイックフィックスが適用された後、ReSharper は |
メソッドが void を返すようにする | クイックフィックスが適用された後、ReSharper はメソッドの初期戻り値の型を |
Using ディレクティブがありません
ファイルに対応する using ディレクティブを書き忘れたために解決できないタイプ名がコードに含まれているときはいつでも、小さなポップアップがタイプをインポートすることを提案します。

Alt+Enter を押すと、適切な using ディレクティブが挿入されます。 一致する名前を持つタイプが複数ある場合は、使用するタイプを選択するよう求められます (詳細については、「インポートする名前空間 」を参照してください)。
ポップアップが表示された際に必要な名前空間をインポートしなかった場合や、ReSharper オプション Alt+R、O の ページで エディターで「不足している参照のインポート」ポップアップを表示する を無効化した場合でも、型にキャレットを置き、 Alt+Enter を押して対応するクイックフィックスを選択することで、いつでも型をインポートできます。

たとえば、ソリューションにシステムタイプに似たもの (MyFramework.MyCollections.List など) があるが、実際には使用していない場合など、一部のタイプまたは名前空間を提案しないようにしたい場合があります。 このような項目を候補から除外したい場合は、 ページの ReSharper オプション
Alt+R、O
の インポートおよび補完から除外 リストに追加してください。
エントリの形式は、 Fully.Qualified.Name、 Fully.Qualified.Name.Prefix*、 *Fully.Qualified.Name.Suffix です。 ジェネリクス型は List`1 として指定されます。
不足している非同期修飾子
await 演算子を含むが非同期として定義されていないメソッドがある場合、ReSharper はそのような不一致を検出し、対応するクイックフィックスによる修正を提案します。
Before: | ![]() |
クイックフィックスの適用: | ![]() |
以降: | ![]() |
ループを LINQ 式に変換する
C# 3.0 と LINQ を使用することで、開発者はその意図をコンパイラーに直接記述することで、データ集約型コードをより簡単に記述することができます。 ReSharper は、LINQ 構文を使って書き換え可能なコードを検出し、自動で変換を提案します:
Before: | ![]() |
クイックフィックスの適用: | ![]() |
以降: | ![]() |
メソッドのパラメーターと戻り値で IEnumerable に移行する
ReSharper はコードベースをスキャンし、 Array、 List、 ArrayList などのより具体的な型の代わりに IEnumerable を安全に返し、受け入れ可能なメソッドを検出します:
Before: | ![]() |
クイックフィックスの適用: | ![]() |
以降: | ![]() |
代入文をオブジェクトイニシャライザーに変換する
ReSharper は、代入ステートメントをオブジェクトイニシャライザーに変換するコンテキストアクションとクイックフィックスの両方を提供します。 コンテキストアクションを使用すると、フィールドの割り当てを 1 つずつイニシャライザーに追加できますが、クイックフィックスではすべてを一度に追加できます。 クイックフィックスの仕組みは次のとおりです。
Before: | ![]() |
クイックフィックスの適用: | ![]() |
以降: |
|
静的メソッド呼び出しを拡張メソッド呼び出しに変換する
C# の従来の static メソッドとして拡張メソッドを呼び出した場合、ReSharper は標準的な拡張メソッドの呼び出し習慣へすばやく準拠できるよう支援します:
Before: | |
クイックフィックスの適用: | ![]() |
以降: |
匿名メソッドをラムダ式に変換する
ReSharper は匿名メソッドをラムダ式に変換することを提案します。 逆の機能はコンテキストアクションとして提供されます。
Before: |
|
クイックフィックスの適用: | ![]() |
以降: |
|
自動プロパティに変換する
ReSharper を使うと、従来のプライベートフィールドベースのプロパティを C# 3.0 に実装された自動プロパティに簡単に変換できます。 詳細については、 自動プロパティを使用する を参照してください。
Before: | ![]() |
クイックフィックスの適用: | ![]() |
以降: |
|
型パラメーターを不変にする
型パラメーターの使用がその変性に違反している場合、ReSharper はパラメーターを不変にすることを提案します:
Before: | ![]() |
クイックフィックスの適用: | ![]() |
以降: | ![]() |






























