クラスおよび型のリファクタリング (クラス デザイナー)
コードをリファクタリングするときに、その外部動作ではなく、内部構造とオブジェクトの設計を変更することによって、コードが理解および保守しやすくなり、効率も向上します。 クラス デザイナーと [クラスの詳細] ウィンドウを使用すると、必要な作業の量を減らし、Visual Studio プロジェクト内の Visual C# .NET、Visual Basic .NET、または C++ コードをリファクタリングするときに、バグが発生する可能性を低下させることができます。
注意
プロジェクトはソース コードの管理下にあり、チェックアウトされていないので、プロジェクトのファイルは読み取り専用である可能性があります。このプロジェクトは、参照されているプロジェクトであるか、そのファイルがディスク上で読み取り専用としてマークされています。これらの状態のいずれかに当てはまるプロジェクト内で作業する場合、プロジェクトの状態に応じて、さまざまな方法で作業を保存できます。このことは、コードをリファクターする場合だけでなく、コードを直接編集するなど、別の方法でコードを変更する場合にも当てはまります。詳細については、「Display of Read-Only Information」を参照してください。
一般的なタスク
タスク |
関連する参照先 |
---|---|
クラスのリファクタリング: リファクタリング操作を使用すると、クラスを部分クラスに分割したり、抽象基本クラスを実装したりできます。 |
|
インターフェイスの操作: クラス デザイナーのクラス ダイアグラム上で、インターフェイス メソッド用のコードを提供するクラスに接続して、インターフェイスを実装できます。 Visual C# を使用している場合、型から 1 つ以上のパブリック メンバーを新しいインターフェイスに抽出することもできます。 |
|
型、型のメンバー、およびパラメーターのリファクタリング: クラス デザイナーを使用すると、型や型のメンバーの名前変更など、変更作業が簡単になります。 型のメンバーをオーバーライドしたり、それらを 1 つの型から別の型に移動したりできます。 null 許容型を簡単に作成できます。 また、Visual C# を使用している場合、メソッドのパラメーターの順序を変更できます。 |
抽象基本クラスの実装
クラス デザイナーを使用して、抽象クラスを実装できます。
この手順の前提条件は次のとおりです。
プロジェクトに抽象クラスが含まれている。
抽象クラスに抽象メンバーが含まれている。
抽象クラスが、別のクラスとの継承関係を持つ基本クラスである (派生クラスは抽象クラスである必要はありません)。
抽象クラスの実装
- 派生クラスを右クリックし、[IntelliSense] をクリックした後、[抽象クラスの実装] をクリックします。 基本クラスのすべての抽象メンバーが、派生クラス内に実装されます。
追加情報については、方法: 型の間の継承を作成する (クラス デザイナー)、および 方法: クラス デザイナーを使用して型を作成する を参照してください。
インターフェイスへのメンバーの抽出
型から 1 つ以上のパブリック メンバーを新しいインターフェイスに抽出できます。
新しいインターフェイスにメンバーを抽出するには
クラス デザイナーで、抽出するメンバーを含む型を右クリックし、[リファクター] をポイントした後、[インターフェイスの抽出] をクリックします。
[インターフェイスの抽出] ダイアログ ボックスに、インターフェイスの名前の既定値と、そのインターフェイスを宣言するコード ファイルの名前の既定値が表示されます。 既定値を受け入れるか、それらを変更します。
[インターフェイスからパブリック メンバーを選択してください] ペインで、新しいインターフェイスに抽出するメンバーの横にあるチェック ボックスをオフにした後、[OK] をクリックします。
新しいインターフェイスが作成され、その格納先となるファイルがプロジェクトに追加されます。
型のメンバーのオーバーライド
クラス デザイナーでは、子クラスのメソッドやプロパティなどのメンバーが、基本クラスから継承したメンバーをオーバーライドできる場合があります。 次の状況に当てはまる場合のみ、メンバーをオーバーライドできます。
- オーバーライドする基本メソッドは、仮想メソッド、抽象メソッド、またはオーバーライド メソッドである必要があります (非仮想メソッドまたは静的メソッドはオーバーライドできません)。
メンバーをオーバーライドするには
クラス ダイアグラムで、クラス図形を右クリックし、[IntelliSense] をクリックした後、[オーバーライド]、[メンバー] の順にクリックします。
オーバーライド可能なメンバーを示すダイアログ ボックスが表示されます。
一覧からメンバーを指定します。
同じ名前、アクセス修飾子、および戻り値を持つメンバーがクラス内に表示され、その継承修飾子プロパティが、Visual Basic の場合は Overrides、C# の場合は override に設定されます。
型および型のメンバーの名前変更
クラス デザイナーのクラス ダイアグラムまたは [プロパティ] ウィンドウで、型または型のメンバーの名前を変更できます。 [クラスの詳細] ウィンドウでは、メンバーの名前は変更できますが、型の名前は変更できません。 型または型のメンバーの名前を変更すると、以前の名前が表示されていた、すべてのウィンドウとコードの場所に変更が反映されます。
クラス デザイナーで名前を変更するには
クラス ダイアグラムで、型またはメンバーを選択します。
メンバーの名前が編集可能になります。
型または型のメンバーの新しい名前を入力します。
[クラスの詳細] ウィンドウで名前を変更するには
[クラスの詳細] ウィンドウを表示するには、型または型のメンバーを右クリックした後、[クラスの詳細] をクリックします。
[クラスの詳細] ウィンドウが表示されます。
[名前] 列で、型のメンバーの名前を変更します。
セルからフォーカスを移動するには、Enter キーを押すか、セルの外側をクリックします。
注意
[クラスの詳細] ウィンドウでは、メンバーの名前は変更できますが、型の名前は変更できません。
[プロパティ] ウィンドウで名前を変更するには
クラス ダイアグラムまたは [クラスの詳細] ウィンドウで、型またはメンバーを右クリックした後、[プロパティ] をクリックします。
[プロパティ] ウィンドウが表示され、型または型のメンバーのプロパティが表示されます。
[名前] プロパティで、型または型のメンバーの名前を変更します。
新しい名前は、以前の名前が表示されていた、現在のプロジェクト内のすべてのウィンドウとコードの場所に反映されます。
パラメーターの順序変更
クラス デザイナーでは、型のメソッド パラメーターの順序を変更できます。
注意
省略可能なパラメーターは、パラメーター リストの最後のパラメーターにする必要があります。クラス デザイナーを使用して省略可能なパラメーターを作成する方法については、「Adding Parameters to Methods」を参照してください。
パラメーターの順序を変更するには
クラス ダイアグラムで、型の図形を展開した後、[メソッド] コンパートメントを展開します。
[メソッド] コンパートメントで、順序を変更するパラメーターを含むメソッドを右クリックし、[リファクター] をポイントして、[パラメーター順序の再変更] をクリックします。
[パラメーター順序の再変更] ダイアログ ボックスが表示されます。
[パラメーター順序の再変更] ダイアログ ボックスで、パラメーターを移動して目的の順序に変更した後、[OK] をクリックします。
パラメーターの順序が、コード内およびクラス ダイアグラムの図形内で変更されます。
1 つの型から別の型への型のメンバーの移動
クラス デザイナーを使用すると、両方が現在のクラス ダイアグラムに表示されている 1 つの型から別の型に、型のメンバーを移動できます。
型のメンバーを 1 つの型から別の型に移動するには
デザイン サーフェイスに表示されている型で、別の型に移動するメンバーを右クリックした後、[切り取り] をクリックします。
移動先の型を右クリックした後、[貼り付け] をクリックします。
プロパティが移動元の型から削除され、移動先の型に表示されます。
関連トピック
タイトル |
説明 |
---|---|