ReSharper 2026.1 Help

インターフェースの抽出リファクタリング

このリファクタリングは、選択した型に基づいて新しいインターフェースを作成できます。 ReSharper は、新しいインターフェースに転送するメンバーの選択を提案します。 抽出後、元の型が更新され、新しいインターフェースが実装されます。

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

以下の例では、 Circle クラスの Color プロパティと Draw メソッドが抽出され、新しいインターフェースが作成されます。

class Circle { public Point Center { get; private set; } public Color Color { get; private set; } public int Radius { get; private set; } public void Draw() { // draw... } }
interface IShape { Color Color { get; } void Draw(); } class Circle : IShape { public Point Center { get; private set; } public Color Color { get; private set; } public int Radius { get; private set; } public void Draw() { // draw... } }

型からインターフェースを抽出する

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

    • エディターで、型の名前にキャレットを置きます。

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

    • ファイル構造ウィンドウ ウィンドウで型を選択します。

    • クラスビューで型を選択します。

    • オブジェクトブラウザーで型を選択します。

    • 型依存関係ダイアグラムで型を選択します。

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

    • Control+Shift+R を押し、を インターフェースの抽出 を選択します。

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

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

    インターフェースの抽出 ダイアログが開きます。

  3. 新しいインターフェースの名前と配置する場所(新しいファイルまたは元の型と同じファイル)を指定します。

  4. 新しいインターフェースに転送するメンバーを選択します。 メンバーのリストには、以下が含まれます。

    • 現在の型のメンバー

    • 選択された型が現在継承 / 実装している基本型のメンバー

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

  5. すべてのパブリックメンバーをすばやく選択するには、 すべてのパブリック をクリックします。

  6. 他のメンバーを参照しているメンバーを選択した場合、それらのメンバーは赤色でハイライトされます。 競合する問題を解決するには、現在選択されているメンバーに依存するメンバーを選択するために 依存​ をクリックしてください。

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

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

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 日