抽象クラスをインターフェースに変換リファクタリング
このリファクタリングにより、抽象 クラスを インターフェースに変換できます。 クラスを複数の抽象クラスから継承したい場合に便利です。その場合、抽象クラスの一部を簡単にインターフェースに変換できます。
以下の例を考えてみましょう。 リファクタリングを適用した後、クラスはインターフェースに変換されます。
public abstract class CachedItem
{
public abstract int Id { get; set; }
public abstract void Register();
public abstract void UnRegister();
}
public interface CachedItem
{
int Id { get; set; }
void Register();
void UnRegister();
}
抽象クラスをインターフェースに変換する
次のいずれかの方法で抽象クラスを選択します。
エディターで、抽象クラスの名前にキャレットを置きます。
ソリューションエクスプローラーで抽象クラスを選択します。
構造ウィンドウ ウィンドウで抽象クラスを選択します。
次のいずれかを実行します:
Ctrl+Alt+Shift+T を押し、を 抽象クラスをインターフェースに変換 を選択します。
メインメニューから を選択します。
抽象クラスに非抽象メンバーが含まれている場合、JetBrains Rider がそのメンバーのボディまたはアクセサーが削除されることを通知するダイアログを表示します。 これを避けるには、非抽象メンバーのロジックを子クラスまたは他の場所に手動で移動し、再度リファクタリングを呼び出す必要があります。
競合が識別されない場合、抽象クラスは同じ名前のインターフェースに変換され、それに応じて抽象メンバーの修飾子が変更されます。 それ以外の場合は、 競合を解決します。
デフォルトでは、インターフェースの 命名スタイルでは、 I で始まるインターフェース名が必要です。 設定を変更しなかった場合、インターフェース名は一貫性のない名前でハイライトされます。 Alt+Enter を押し、対応する クイックフィックスを使用してインターフェースの 名前を変更するだけです。
2026 年 6 月 12 日