ReSharper 2026.1 Help

インターフェースを抽象クラスに変換リファクタリング

このリファクタリングにより、インターフェースが抽象クラスに変換され、クラスおよびインターフェースのセット間の階層依存性をすばやく変更できます。

次の例を検討してください。

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 } }

インターフェースを抽象クラスに変換する

  1. 次のいずれかの方法でインターフェースを選択します。

    • エディターで、インターフェースの名前にキャレットを置きます。

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

    • ファイル構造ウィンドウウィンドウでインターフェースを選択します。

    • クラスビューでインターフェースを選択します。

    • オブジェクトブラウザーでインターフェースを選択します。

    • 型依存関係ダイアグラムでインターフェースを選択します。

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

    • Control+Shift+R を押し、を インターフェースを抽象クラスに変換 を選択します。

    • 右クリックして、コンテキストメニューから リファクタリング | インターフェースを抽象クラスに変換 を選択します。

    • メインメニューから ReSharper | リファクタリング | 変換 | インデクサーへの方法 ... を選択します。

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

この機能は、次の言語とテクノロジーで サポートされています。

言語: C#

言語: VB.NET

言語: C++

言語: ASP.NET

言語: Razor

言語: XAML

言語: Resx

言語: スクリプトの作成

言語: SQL

この機能は C# で利用可能です

この機能は Visual Basic で利用可能です

この機能は C++ では使用できません

この機能は ASP.NET では使用できません

この機能は Razor では使用できません

機能は XAML では使用できません

機能はリソースファイルでは使用できません

機能はビルドスクリプトファイルでは使用できません

機能は SQL/NoSQL ファイルおよびインジェクションでは利用できません

ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。

2026 年 6 月 12 日