「スーパークラスの抽出」リファクタリング
このリファクタリングを使用すると、選択したクラスから特定のメンバーを新しい基本クラスに抽出できます。 元のクラスは、作成された基本クラスを拡張します。
現在の型がすでにインターフェースを実装している場合、それらのインターフェースを新しい基本クラスに抽出することもできます。
抽象クラスを作成する場合は、抽出されたメソッド abstract の少なくとも 1 つにマークを付けます。
以下の例では、既存のクラス Circle から抽象クラス Shape を抽出します。
基本クラスを抽出する
次のいずれかの方法でクラスを選択します。
エディターで、クラス名にキャレットを置きます。
ソリューションエクスプローラーでクラスを選択します。
ファイル構造ウィンドウウィンドウでクラスを選択します。
クラスビューでクラスを選択します。
オブジェクトブラウザーでクラスを選択します。
型依存関係ダイアグラムでクラスを選択します。
次のいずれかを実行します。
Control+Shift+R を押し、を スーパークラスの抽出 を選択します。
右クリックして、コンテキストメニューから リファクタリング | スーパークラスの抽出 を選択します。
メインメニューから を選択します。
スーパークラスの抽出 ダイアログが開きます。
新しい基本クラスの名前とその配置場所(新しいファイルまたは元の型と同じファイル)を指定します。
新しい基本クラスに転送するメンバーを選択します。 メンバーのリストには、以下が含まれます。
現在の型のメンバー
選択された型が現在実装しているインターフェース
個々のメンバーを抽象化 / 保持するには、それらの隣の 抽象化する 列のチェックボックスをオンにします。 抽象とマークされたメンバーが少なくとも 1 つある場合、基本クラスも抽象として作成されます。
すべてのパブリックメンバーをすばやく選択するには、 すべてのパブリック をクリックします。
他のメンバーを参照するメンバーを選択すると、抽出されたクラスに未定義のシンボルが表示されます。 現在選択されているメンバーに依存するすべてのメンバーを選択して、競合を解決するには、 依存 をクリックします。
リファクタリングを適用するには、 次へ をクリックします。
競合するものが見つからない場合、ReSharper はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。

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