ReSharper 2025.1 ヘルプ

変換パラメーターリファクタリング

このリファクタリングは、パラメーターを変換することにより、メソッドシグネチャーをすばやく変更できます。たとえば、out パラメーターを削除したり、タプルまたは新しいクラスにパラメーターをラップしたりします。 — そして、ソリューション内のメソッドのすべての使用箇所を自動的に更新します。

リファクタリングでは、次の変換を実行できます。

  • Encapsulate input parameters into a parameter object. The refactoring will create a new class with public fields or auto-properties corresponding to the selected input parameters.

  • Encapsulate return values and out parameters into a return object. The refactoring will create a tuple or a new class with public fields or auto-properties corresponding to the selected return components and output parameters.

  • Transform some of the return tuple components to out parameters and vice versa. The refactoring will extend the return tuple with the selected output values and create out parameters from unselected ones.

  • Encapsulate the input part of a ref parameter into a parameter object. The refactoring will replace the modifier with out for the unselected output values that correspond to ref parameters.

  • Encapsulate the output part of a ref parameter into a return tuple or object. The refactoring will remove the modifier for the unselected input values that correspond to ref parameters.

  • Encapsulate parameters and return values into a single parameter object. The refactoring will create additional writable fields or properties for return values that correspond to the selected return components and out parameters.

The example below demonstrates a mix of transformations — we replace out parameter with method return, and we wrap two other parameters with a new class:

class TestClass { public void DrawCircle(Point ctr, float rad, out bool res) { // draw... res = true; } }
class TestClass { public bool DrawCircle(Circle circle) { // draw... . var res = true; return res; } } internal class Circle { public Circle(Point ctr, float rad) { Ctr = ctr; Rad = rad; } public Point Ctr { get; private set; } public float Rad { get; private set; } }

変換メソッドのパラメーター

  1. エディターでメソッドの宣言または使用箇所にキャレットを置くか、ファイル構造ウィンドウウィンドウでメソッドを選択します。または、メソッドパラメーターのいずれかにキャレットを置きます。

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

    • Alt+Enter を押して、変換パラメーターを選択します。

    • Control+Shift+R を押し、変換パラメーターを選択します。

    • 右クリックして、コンテキストメニューからリファクタリング | 変換パラメーターを選択します。

    • メインメニューから ReSharper | リファクタリング | 変換 | パラメーターを変換しています ... を選択します。

    変換パラメーターダイアログが開きます。

  3. 変換するパラメーターを選択します。

  4. Depending on selected in/ out parameters, ReSharper enables メソッド受信 and/or メソッドの戻り値 selectors. Use these selectors to choose how in/ out parameters should be transformed. If you choose to create a new class for parameters, you will be able to specify its name in a field to the right of it.

  5. リファクタリングを適用するには、次へをクリックします。

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

ReSharper. Transforming method's parameters

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

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

関連ページ:

シグネチャーの変更リファクタリング

このリファクタリングは、メソッド、コンストラクター、プロパティ、インデクサーのシグネチャーに加えることができるいくつかの変更を組み合わせたものです。ReSharper は、宣言内のシグネチャーを変更するとともに、現在のソリューションで変更されたシンボルのすべての使用箇所、ベースシンボル、実装、オーバーライドを検出して更新します。適用される変更:このリファクタリングを使用すると、次の変更を行うことができます。名前の変更戻り値の型を変更するパラメーターの名前と型を変更する

構造別にファイルを移動する

ファイル構造ウィンドウ:ReSharper では、ファイル構造ウィンドウを使用して現在のドキュメントの構造を移動でき、大きなファイルでのナビゲーションが大幅に簡素化されます。ウィンドウはエディターと同期されます。別のエディタータブに切り替えると、ウィンドウには対応するファイルの構造が表示されます。ファイル構造ウィンドウを開いて使用するを押すか、メインメニューからを選択します。あるいは、を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。現在のドキュメントの内容はツリー

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

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

さまざまな言語の ReSharper 機能

The tables below explain for which languages/technologies each ReSharper feature is supported. They only list language-specific features and do not include a lot of features for the project/solution scope, such as プロジェクト依存関係ダイアグラム , 名前空間の調整リファクタリング , スタック...

ASP.NET MVC 特有の機能

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

言語による ReSharper: MSBuild

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