方法 : [フィールドのカプセル化] でコードをリファクタリングする
更新 : 2007 年 11 月
次の手順では、既存のフィールドからプロパティを作成し、新規プロパティへの参照でコードを更新する方法を説明します。ここで説明する手順を使用して、フィールドのカプセル化 リファクタリング操作を実行します。
フィールドからプロパティを作成するには
「使用例」の説明に従って、コンソール アプリケーションを作成します。
詳細については、「コンソール アプリケーションの作成 (Visual C#)」を参照してください。
コード エディタとテキスト エディタで、宣言内のカプセル化するフィールドの名前にカーソルを移動します。次の例では、カーソルを width という語に移動します。
public int width, height;
[リファクタ] メニューの [フィールドのカプセル化] をクリックします。
[フィールドのカプセル化] ダイアログ ボックスが表示されます。
キーボード ショートカットとして、Ctrl キーを押しながら R キーを押し、次に Ctrl キーを押しながら E キーを押すことでも、[フィールドのカプセル化] ダイアログ ボックスを表示できます。
[フィールドのカプセル化] ダイアログ ボックスを表示するには、カーソルを右クリックし、[リファクタ] をポイントして、[フィールドのカプセル化] をクリックする方法もあります。
設定を指定します。
Enter キーを押すか、[OK] をクリックします。
[参照の変更のプレビュー] を選択した場合は、[参照の変更のプレビュー] ウィンドウが表示されます。[適用] をクリックします。
次の get アクセサ コードおよび set アクセサ コードがソース ファイルに表示されます。
public int Width { get { return width; } set { width = value; } }
Main メソッドのコードも、新しい Width プロパティ名で更新されます。
Square mySquare = new Square(); mySquare.Width = 110; mySquare.height = 150; // Output values for width and height. Console.WriteLine("width = {0}", mySquare.Width);
使用例
この例をセットアップするために、EncapsulateFieldExample という名前のコンソール アプリケーションを作成し、Program を次のコードで置き換えます。詳細については、「コンソール アプリケーションの作成 (Visual C#)」を参照してください。
class Square
{
// Select the word 'width' then use Encapsulate Field.
public int width, height;
}
class MainClass
{
public static void Main()
{
Square mySquare = new Square();
mySquare.width = 110;
mySquare.height = 150;
// Output values for width and height.
Console.WriteLine("width = {0}", mySquare.width);
Console.WriteLine("height = {0}", mySquare.height);
}
}