ReSharper 2025.3 ヘルプ

パラメーター修飾子の追加 / 削除リファクタリング

このリファクタリングにより、コレクション型の最後のパラメーターに params 修飾子を導入することで API を改善できます。

最後の引数として型の配列を受け入れる API の例を考えてみましょう。

public sealed class AcceptsDataAttribute : Attribute { public AcceptsDataAttribute(string description, Type[] types) { } }

このような API は、呼び出しサイトで配列を構築することを消費者に強制します。

public class MyService { [AcceptsData("Flag/text", new[] { typeof(string), typeof(bool) })] public void EntryPoint(object data) { // do something } }

このリファクタリングにより、Type[] types パラメーターに params 修飾子を追加し、すべての使用を更新することで、この API の人間工学を向上させることができます。

public sealed class AcceptsDataAttribute : Attribute { public AcceptsDataAttribute(string info, Type[] types) { } } public class MyService { [AcceptsData("Flag/text", new[] { typeof(string), typeof(bool) })] public void EntryPoint(object data) { // do something } }
public sealed class AcceptsDataAttribute : Attribute { public AcceptsDataAttribute(string info, params Type[] types) { } } public class MyService { [AcceptsData("Flag/text", typeof(string), typeof(bool))] public void EntryPoint(object data) { // do something } }

'params' 修飾子を追加する

  1. ターゲットメソッドシグネチャー内の任意の場所にキャレットを設定します。

  2. 以下のいずれか 1 つを実行します:

    • Alt+Enter を押して、'params' 修飾子を追加し、使用方法を更新するを選択します。

    • Control+Shift+R を押し、'params' 修飾子を追加し、使用方法を更新するを選択します。

  3. 競合が見つからない場合、ReSharper はすぐにリファクタリングを実行します。それ以外の場合は、競合を解決するように求められます。

このリファクタリングでは、params 修飾子を削除して使用方法を更新することで、逆変換を実行することもできます。これは、最後の params パラメーターの後に新しいパラメーターを含める必要がある場合に役立ちます。

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

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

2024 年 9 月 23 日

関連ページ:

リファクタリングの競合を解決する

ReSharper のすべてのリファクタリングはソリューション全体に適用されるため、多くのファイルが影響を受ける可能性があり、一部の変更は既存のコードと競合する可能性があります。競合がある場合、ReSharper はそれらを検出し、リファクタリングウィザードの最後のページに競合のリストを表示します。例: 安全な削除リファクタリングをメソッドに適用するときに表示されるいくつかの競合を次に示します。競合には 2 つの型があります。コンパイルを中断することなく削除できる使用箇所は、アイコンでマークされて...

さまざまな言語の ReSharper 機能

以下の表は、ReSharper の各機能がどの言語 / テクノロジーでサポートされているかを説明しています。言語固有の機能のみを記載しており、プロジェクト依存関係ダイアグラム、名前空間の調整リファクタリング、スタックトレースエクスプローラー、最近使用したファイルの表示など、プロジェクト / ソリューションスコープに関する多くの機能は含まれていません。コード解析:コードインスペクション

ASP.NET MVC 特有の機能

ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する:20...

言語による ReSharper: MSBuild

MSBuild は、アプリケーションを構築するために広く使用されているプラットフォームです。特定の XML タグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharper を使用すると、より速く行うことができます。コード検査:あらかじめ定義された要素またはその属性の名前を誤って入力した場合、ReSharper はそのような不一致についてハイライト表示します。まだ定義されていないプロパティを参照しようとすると、ReSharper はそのようなケースも検出します。MSBuild...

言語による ReSharper: SQL と NoSQL

このセクションには、SQL のようなファイルの ReSharper 機能と C# 文字列の SQL インジェクションに関する情報が含まれています。使用するデータベースによっては、ソリューション内に異なるダイアレクト(DBMS 固有の SQL バージョン)の SQL ファイルが存在する場合があります。各 SQL ファイルで構文のハイライト、コード補完、コードインスペクションが正しく機能するには、SQL ダイアレクトを設定する必要があります。SQL ダイアレクトの構成メインメニューからを選択するか、...

安全な削除リファクタリング

他のシンボルやプロジェクト / アセンブリ参照を削除する場合は、このリファクタリングを使用して、削除後にソリューションがコンパイルされるようにします。削除されたアイテムへの参照がない場合、またはすべての参照が安全に折りたたまれている場合、アイテムはすぐに削除されます。それ以外の場合は、ReSharper は削除してはならないすべての参照を表示し、対応するコードを編集することができます。シンボルを削除した後に空のファイルが残っている場合、リファクタリングはこれらのファイルを削除することもできます。...