JetBrains Rider 2026.1 ヘルプ

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

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

適用される変更

このリファクタリングを使用すると、次の変更を行うことができます。

変更 / シンボル

メソッド

プロパティ

コンストラクター

インデクサー

名前の変更

Modification is applicable

Modification is applicable

Modification is applicable

戻り値の型を変更する

Modification is applicable

Modification is applicable

パラメーターの名前と型を変更する

Modification is applicable

Modification is applicable

Modification is applicable

パラメーターの追加または削除

Modification is applicable

Modification is applicable

Modification is applicable

パラメーターの並べ替え

Modification is applicable

Modification is applicable

Modification is applicable

コマンドでリファクタリングを呼び出す

  1. エディターでメソッド、プロパティ、コンストラクター、インデクサーの宣言または使用箇所にキャレットを置くか、構造ウィンドウウィンドウで選択します。

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

    • Ctrl+F6 を押します。

    • Alt+Enter を押して、シグネチャーの変更を選択します。

    • Ctrl+Alt+Shift+T を押し、シグネチャーの変更を選択します。

    • メインメニューからリファクタリング | シグネチャーの変更を選択します。

    シグネチャーの変更ダイアログが開きます。

  3. 名前フィールドにシンボルの新しい名前を入力します。必要に応じて、戻り値の型フィールドでメソッドの戻り値の型を変更します。

  4. パラメーター領域では、既存のパラメーターの型、名前、修飾子、デフォルト値を編集します。必要に応じて、追加および除去ボタンを使用してパラメーターを作成または削除します。上へ移動下へ移動をクリックしてパラメーターを並べ替えます。

  5. 関数の使用箇所を変更したくない場合は、JetBrains Rider は既存の宣言をそのままにして、新しい宣言内で関数を呼び出すことができるため、既存の使用箇所を変更しないで済みます。これを行うには、オーバーロードメソッドによる委譲を選択します (詳細については、「呼び出しを更新せずにシグネチャーを変更する」を参照してください)。

  6. プレビューフィールドで新しい署名を確認します。

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

  8. パラメーターを追加した場合、JetBrains Rider は関数の呼び出しを修正するいくつかの方法を提案します。呼び出しのコードをコンパイル不可のままにするか、すべての呼び出しに「null」または特定の値を使用するか、呼び出しダイアグラムを使用して値を選択するかを選択できます。特定の呼び出しを個別に呼び出します (詳細については、「コールダイアグラムによるコールの更新 (プッシュ / プルパラメーターツール)」を参照してください)。

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

JetBrains Rider Change Signature wizard

呼び出しを更新せずにシグネチャーを変更する

リファクタリングウィザードでオーバーロードメソッドによる委譲を選択した場合、JetBrains Rider は既存の宣言を残して新しい宣言内で呼び出すため、既存の用途は変更されません。

継承階層から関数を変更する場合、このオプションは使用できないことに注意してください。

例: メソッド public string Foo(string s, int x) の名前と並べ替えられたパラメーターを変更した場合、JetBrains Rider は次のコードを作成します:

public string Foo(string s, int x) { return String.Format("'{0}': {1} times", s, x); } public void Test() { Foo("test", 10); }
public string Bar(int x, string s) { return String.Format("'{0}': {1} times", s, x); } public void Test() { Bar(10, "test"); }
public string Foo(string s, int x) { return String.Format("'{0}': {1} times", s, x); } public void Test() { Foo("test", 10); }
public string Foo(string s, int x) { return Bar(x, s); } public string Bar(int x, string s) { return String.Format("'{0}': {1} times", s, x); } public void Test() { Foo("test", 10); }

リファクタリングをインプレースで実行する

関数のシグネチャーを変更するには、エディターでその宣言権を変更し、クイックフィックスを適用してソリューション全体のリファクタリングを呼び出します。

たとえば、メソッドのパラメーターを並べ替えると、メソッドシグネチャーの周囲に灰色の境界線が表示され、リファクタリングが利用可能であることを通知します。Alt+Enter を押すと、アクションリストでリファクタリングを見つけることができます。

Applying the Change Signature refactoring inline

クイックフィックスを適用すると、メソッドシグネチャーの変更がダイアログに表示されます。

Applying the Change Signature refactoring inline

次へをクリックすると、ソリューション全体に変更を適用できます。

また、関数の呼び出しのいずれかに新しい引数を 1 つ追加するときに、シグネチャーの変更リファクタリングを適用することもできます。この場合、JetBrains Rider は誤った呼び出しを検出し、ハイライト表示し、対応するクイックフィックスを提案します。

Applying the Change Signature refactoring inline from a method usage

このクイックフィックスは、リファクタリングを起動し、関数の宣言とそのすべての使用箇所をソリューション全体で更新します。必要に応じて、JetBrains Rider はそれぞれの特定の呼び出しの値を個別に選ぶために呼び出しダイアグラムを表示します

コールダイアグラムによるコールの更新 (プッシュ / プルパラメーターツール)

新しいパラメーターが追加されるように関数シグネチャーを変更する場合、JetBrains Rider は関数呼び出しを更新するいくつかの方法を提供します。すべてのコールに 'null' または定数値を使用することに加えて、コールの視覚的表現を使用して個々のコールを更新することができます。

ウィザードを使用してリファクタリングを実行する場合は、ウィザードの最後のページでコールツリーで解決するを選択し、次へをクリックします。更新された関数呼び出しのクイックフィックスからリファクタリングを実行すると、変更された関数のすべての呼び出しを含むツールウィンドウが自動的に開きます。

Change signature - updating calls with call diagram

このビューでは、影響を受けたコールを確認して、クリックしてエディターでそれらのコールを見つけることができます。コールごとに、新しく追加したパラメーターの値を取得する方法を選択するか、ユーザーの編集を選択して手動でコールを編集します。

2024 年 9 月 25 日

関連ページ:

Rename リファクタリング

このリファクタリングにより、ソリューション内の任意のシンボルまたはプロジェクトの名前を変更できます。シンボルへの参照と使用はすべて自動的に更新されます。さまざまな C# エンティティにリファクタリングを使用する:これは、このリファクタリングで名前を変更できるエンティティのリストです。プロジェクトまた、プロジェクトフォルダーとプロジェクトのルートネームスペース、およびソリューションでのそのすべての使用箇所の名前を変更することもできます。名前空間また、名前空間のネストレベルを変更することもできます...

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

このリファクタリングは、パラメーターを変換することにより、メソッドシグネチャーをすばやく変更できます。たとえば、パラメーターを削除したり、タプルまたは新しいクラスにパラメーターをラップしたりします。 — そして、ソリューション内のメソッドのすべての使用箇所を自動的に更新します。リファクタリングでは、次の変換を実行できます。入力パラメーターをパラメーターオブジェクトにカプセル化します。リファクタリングにより、選択した入力パラメーターに対応するパブリックフィールドまたは自動プロパティを持つ新しいクラ...

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

構造ウィンドウ:JetBrains Rider では、構造ウィンドウを使って現在の文書の構造を移動することができます。これは大きなファイルでのナビゲーションを非常に簡単にします。ウィンドウはエディターと同期しています。別のエディタータブに切り替えると、ウィンドウには対応するファイルの構造が表示されます。構造ウィンドウを開いて使用するを押すか、を選択します。現在のドキュメントの内容はツリー構造で表示され、ドキュメント内を探索したり移動したりできます。任意のシンボルをダブルクリックすると、エディター...

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

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

コードの問題のクイックフィックス

JetBrains Rider を使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。ハイライトされたコードの問題でを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスの適用:クイックフィックスは、ハイライトされたコードの問題の左側にアクションインジケーターとして視覚的に表示されます。これらのインジケーターは、コードの問題にキャレットを置くと表示されます。次のインジケーターは、簡単な修正を意味する

アクションインジケーターとアクションリスト

Rider のテキストエディターで最も注目すべきことは、アクションインジケータとアクションリストです。これらは、JetBrains Rider によってサポートされるすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NET など)に表示され、使用可能なアクションについて通知し、それらの適用を支援します。アクションインジケータ:アクションインジケーターは、テキストエディターの左余白に表示されるアイコンです。これらのアイコンは、対応する行とキャレット位置で使用でき...