次の方法で共有


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

このリファクタリングは以下に適用されます。

  • C#

  • Visual Basic

概要:クラス、構造体、またはインターフェイスから既存のメンバーを使用するインターフェイスを作成できます。

条件:他のクラス、構造体、またはインターフェイスによって継承可能なクラス、構造体、またはインターフェイスのメンバーがあること。

理由:インターフェイスは、オブジェクト指向設計の優れた構成要素であるため。 さまざまな動物のクラス (Dog、Cat、Bird) があり、これらすべてが Eat、Drink、Sleep などの共通メソッドを持つとします。 IAnimal のようなインターフェイスを使用すると、Dog、Cat、Bird に、これらのメソッド共通の "シグネチャ" を持たせることができます。

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

  1. クラス名にカーソルを置きます。

    • C#:

      Highlighted code - C#

    • Visual Basic:

      Highlighted code - Visual Basic

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

    • [キーボード]
      • Ctrl + R キーを押し、次に Ctrl + I キーを押します。 (キーボード ショートカットは、選択したプロファイルによって異なる場合があります。)
      • Ctrl+. キーを押して [クイック アクションとリファクタリング] メニューをトリガーし、[プレビュー] ウィンドウ ポップアップから [インターフェイスの抽出] を選びます。
    • マウス
      • [編集] > [リファクター] > [インターフェイスの抽出] の順に選びます。
      • クラスの名前を右クリックして [クイック アクションとリファクタリング] メニューを選択し、[プレビュー] ウィンドウ ポップアップから [インターフェイスの抽出] を選択します。
  3. 表示される [インターフェイスの抽出] ダイアログ ボックスで、必要な情報を入力します。

    Extract Interface

    フィールド 説明
    新しいインターフェイス名 作成するインターフェイスの名前。 名前は既定値の IClassName になります。ここで、ClassName は上で選択したクラスの名前になります。
    新しいファイル名 インターフェイスを含む、生成されたファイルの名前。 インターフェイス名と同様に、この名前の既定値は IClassName になります。ここで、ClassName は上で選択したクラスの名前です。 現在のファイルに追加するオプションを選択することもできます。
    インターフェイスを形成するパブリック メンバーを選択する インターフェイスに抽出する項目。 選択できる数に制限はありません。
  4. [OK] をクリックします。

    指定した名前のファイルにインターフェイスが作成されます。 さらに、選択したクラスにそのインターフェイスが実装されます。

    • C#:

      Resulting Class - C#

      Resulting Interface - C#

    • Visual Basic:

      Resulting Class - Visual Basic

      Resulting Interface - Visual Basic

関連項目