メンバーのプルアップリファクタリング
このリファクタリングは、型メンバーと実装されたインターフェースを、派生型から継承階層の上にある基本型に移動できます。例: MyDerivedClass : MyBaseClass, IMyInterface
がある場合、このリファクタリングは MyDerivedClass
のメンバーを MyBaseClass
または IMyInterface
またはそれらの祖先に移動できます。リファクタリングにより、IMyInterface
の実装全体を MyBaseClass
またはその祖先に移動することもできます。
以下の例では、MyDerivedClass
のリファクタリングを呼び出して、そこに実装されている void Foo()
を IMyInterface
に追加します。
メンバーのプルアップ
次のいずれかの方法で型を選択します。
エディターで、型の名前にキャレットを置きます。
ソリューションエクスプローラーで型を選択します。
ファイル構造ウィンドウウィンドウで型を選択します。
クラスビューで型を選択します。
オブジェクトブラウザーで型を選択します。
型依存関係ダイアグラムで型を選択します。
または、エディターまたはツールウィンドウでメンバーを選択します。
以下のいずれか 1 つを実行します:
Control+Shift+R を押し、メンバーのプルアップを選択します。
右クリックして、コンテキストメニューからリファクタリング | メンバーのプルアップを選択します。
メインメニューから
を選択します。
メンバーのプルアップダイアログが開きます。
使用可能な型のリストから宛先型を選択します。基本型は逆階層として表示され、階層の最上位からの型が最も内側のノードとして表示されます。
移動するメンバーおよび / またはインターフェースを選択します。すべてのパブリックをクリックすると、すべてのパブリックメンバーまたは依存を選択して、他の選択メンバーによって参照されているメンバーを選択したり、選択したインターフェースをインプリメントしたり、ベースクラスのメンバーをオーバーライドすることもできます。
任意のメンバーに対して、abstract にする(該当する場合)を選択してターゲット基本クラスに抽象メンバーを作成し、その実装を現在のクラスに残すことができます。
リファクタリングを適用するには、次へをクリックします。
競合が見つからない場合、ReSharper はすぐにリファクタリングを実行します。それ以外の場合は、競合を解決するように求められます。

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

メンバーのプッシュダウンリファクタリング
このリファクタリングは、メンバーおよびインターフェース実装を基本型からこの型の 1 つ以上の直接的継承に移動できます。例: とがある場合、このリファクタリングはのメンバーをに移動したり、の実装全体をに移動させるのに役立ちます。メンバーのプッシュダウン次のいずれかの方法で型を選択します。エディターで、型の名前にキャレットを置きます。ソリューションエクスプローラーで型を選択します。ファイル構造ウィンドウウィンドウで型を選択します。クラスビューで型を選択します。オブジェクトブラウザーで型を選択します。型...

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

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

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

さまざまな言語の ReSharper 機能
以下の表は、各 ReSharper 機能がサポートされている言語 / テクノロジーを説明しています。これらは言語固有の機能のみをリストし、プロジェクト依存関係ダイアグラム、名前空間の調整リファクタリング、スタックトレースエクスプローラーなどのプロジェクト / ソリューションスコープの多くの機能を含まず、最近のファイルを表示します。コード解析:コードインスペクション

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