JetBrains Rider 2026.1 Help

「スーパークラスの抽出」リファクタリング

このリファクタリングを使用すると、選択したクラスから特定のメンバーを新しい基本クラスに抽出できます。 元のクラスは、作成された基本クラスを拡張します。

現在の型がすでにインターフェースを実装している場合、それらのインターフェースを新しい基本クラスに抽出することもできます。

抽象クラスを作成する場合は、抽出されたメソッド abstract の少なくとも 1 つにマークを付けます。

以下の例では、既存のクラス Circle から抽象クラス Shape を抽出します。

public class Circle : IDrawable { public Point Center { get; private set; } public Color MyColor { get; private set; } public int Radius { get; private set; } public void Draw() { // draw... } } public interface IDrawable { void Draw(); }
public abstract class Shape : IDrawable { public Color MyColor { get; private set; } public abstract void Draw(); } public class Circle : Shape { public Point Center { get; private set; } public int Radius { get; private set; } public override void Draw() { // draw... } } public interface IDrawable { void Draw(); }

基本クラスを抽出する

  1. 次のいずれかの方法でクラスを選択します。

    • エディターで、クラス名にキャレットを置きます。

    • ソリューションエクスプローラーでクラスを選択します。

    • 構造ウィンドウウィンドウでクラスを選択します。

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

    • Ctrl+Alt+Shift+T を押し、を スーパークラスの抽出 を選択します。

    • メインメニューから リファクタリング | スーパークラスの抽出 を選択します。

    スーパークラスの抽出 ダイアログが開きます。

  3. 新しい基本クラスの名前とその配置場所(新しいファイルまたは元の型と同じファイル)を指定します。

  4. 新しい基本クラスに転送するメンバーを選択します。 メンバーのリストには、以下が含まれます。

    • 現在の型のメンバー

    • 選択された型が現在実装しているインターフェース

  5. 個々のメンバーを抽象化 / 保持するには、それらの隣の Abstract にする。 列のチェックボックスをオンにします。 抽象とマークされたメンバーが少なくとも 1 つある場合、基本クラスも抽象として作成されます。

  6. すべてのパブリックメンバーをすばやく選択するには、 パブリックを選択 icon_select_public.png Alt+P をクリックします。

  7. 他のメンバーを参照するメンバーを選択すると、抽出されたクラスに未定義のシンボルが表示されます。 現在選択されているメンバーに依存するすべてのメンバーを選択して、競合を解決するには、 依存関係 をクリックします。

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

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

JetBrains Rider. 「スーパークラス(基底クラス)の抽出」リファクタリング
2026 年 6 月 12 日