インターフェースを抽象クラスに変換リファクタリング
このリファクタリングにより、インターフェースが抽象クラスに変換され、クラスおよびインターフェースのセット間の階層依存性をすばやく変更できます。
次の例を検討してください。
interface Shape
{
double Area { get; }
void Draw();
}
class Circle : Shape
{
private readonly int radius;
public double Area => Math.PI * Math.Pow(radius, 2);
public void Draw()
{
//do something
}
}
abstract class Shape
{
public abstract double Area { get; }
public abstract void Draw();
}
class Circle : Shape
{
private readonly int radius;
public override double Area => Math.PI * Math.Pow(radius, 2);
public override void Draw()
{
//do something
}
}
インターフェースを抽象クラスに変換する
次のいずれかの方法でインターフェースを選択します。
エディターで、インターフェースの名前にキャレットを置きます。
ソリューションエクスプローラーでインターフェースを選択します。
ファイル構造ウィンドウウィンドウでインターフェースを選択します。
クラスビューでインターフェースを選択します。
オブジェクトブラウザーでインターフェースを選択します。
型依存関係ダイアグラムでインターフェースを選択します。
次のいずれかを実行します。
Control+Shift+R を押し、を インターフェースを抽象クラスに変換 を選択します。
右クリックして、コンテキストメニューから リファクタリング | インターフェースを抽象クラスに変換 を選択します。
メインメニューから を選択します。
競合するものが見つからない場合、ReSharper はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。
この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。
2026 年 6 月 12 日