ReSharper 2024.3 ヘルプ

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

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

次の例を考えてみましょう。

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. 以下のいずれか 1 つを実行します:

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

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

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

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

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

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

関連ページ:

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

このリファクタリングにより、抽象クラスをインターフェースに変換することができます。これは、あるクラスに複数の抽象クラスを継承させたい場合に便利です。そうすれば、そのうちの 1 つを簡単にインターフェースに変換できます。以下の例を考えてみましょう。リファクタリングを適用した後、クラスはインターフェースに変換されます。public abstract class CachedItem { public abstract int Id { get; set; } public abstract void...

メンバーのプルアップリファクタリング

このリファクタリングは、型メンバーと実装されたインターフェースを、派生型から継承階層の上にある基本型に移動できます。例: がある場合、このリファクタリングはのメンバーをまたはまたはそれらの祖先に移動できます。リファクタリングにより、の実装全体をまたはその祖先に移動することもできます。以下の例では、のリファクタリングを呼び出して、そこに実装されているをに追加します。interface IMyInterface { } class MyDerivedClass : IMyInterface { pub...

構造別にファイルを移動する

ファイル構造ウィンドウ:ReSharper では、ファイル構造ウィンドウを使用して現在のドキュメントの構造を移動でき、大きなファイルでのナビゲーションが大幅に簡素化されます。ウィンドウはエディターと同期されます。別のエディタータブに切り替えると、ウィンドウには対応するファイルの構造が表示されます。ファイル構造ウィンドウを開いて使用するを押すか、メインメニューからを選択します。あるいは、を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。現在のドキュメントの内容はツリー

型依存関係ダイアグラムを調べる

ReSharper を使用すると、ソリューション内で型が相互にどのように依存しているかを視覚的に調べることができます。さまざまなプロジェクトまたはコンパイルされたアセンブリから任意の数の型を型依存関係ダイアグラムに追加し、それらの間のさまざまな種類の依存関係を調べることができます。初期ダイアグラムを作成する:新しい型依存関係ダイアグラムを作成するには、いくつかの方法があります。ソリューションエクスプローラー、オブジェクトブラウザー、アーキテクチャエクスプローラー、クラスビュー、またはアセンブリ...

リファクタリングの競合を解決する

ReSharper のすべてのリファクタリングはソリューション全体に適用されるため、多くのファイルが影響を受ける可能性があり、一部の変更は既存のコードと競合する可能性があります。競合がある場合、ReSharper はそれらを検出し、リファクタリングウィザードの最後のページに競合のリストを表示します。例: 安全な削除リファクタリングをメソッドに適用するときに表示されるいくつかの競合を次に示します。競合には 2 つの型があります。コンパイルを中断することなく削除できる使用箇所は、アイコンでマークされて...

ASP.NET MVC 特有の機能

ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...