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

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