JetBrains Rider 2026.2 Help

インスタンスメソッドの移動リファクタリング

このリファクタリングにより、インスタンス(非静的)メソッドを別の型に移動できます。 静的メンバーを移動するとは対照的に、インスタンスメソッドはどの型にも移動できません。 潜在的なターゲット型のリストには、メソッドパラメーターの型と現在の型のフィールドの型が含まれます。 メソッドが他のクラスメンバーを使用する場合、リファクタリングはソースクラスをパラメーターとして渡します。 また、必要に応じて、非パブリックメンバーのアクセス権を変更し、フィールドをパブリックプロパティにカプセル化します。 メソッドのすべての使用箇所は自動的に更新されます。

このリファクタリングは、メソッドのロジックがメソッドのパラメーターまたはフィールドとして渡される別の型に適していることがわかっている場合に役立ちます。

以下の例では、リファクタリングを LogDrawing インスタンスメソッドに適用して Logger クラスに移動します。 メソッドで使用されるプライベート pivot フィールドは、対応するプロパティに自動的にカプセル化されます。

class Shape { private Point pivot; private void LogDrawing(Logger logger) { var msg = $"Shape is drawn at {pivot.X}, {pivot.Y}"; logger.Log(msg); } } class Logger { public void Log(string msg) { // log the message } }
class Shape { private Point pivot; public Point Pivot { set { pivot = value; } get { return pivot; } } } class Logger { public void Log(string msg) { // log the message } private void LogDrawing(Shape shape) { var msg = $"Shape is drawn at" {shape.Pivot.X}, {shape.Pivot.Y}"; this.Log(msg); } }

インスタンスメソッドを別の型に移動する

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

  2. 次のいずれかを実行します:

    • F6 を押します。

    • Ctrl+Alt+Shift+T を押し、を インスタンスメソッドの移動 を選択します。

    • メインメニューから リファクタリング | インスタンスメソッドの移動 を選択します。

    インスタンスメソッドの移動 ダイアログが開きます。

  3. 宛先型を選択します。

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

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

JetBrains Rider. インスタンスメソッドの移動リファクタリング
2026 年 8 月 5 日