次の方法で共有


プロパティとフィールドのリファクタリング

Visual Studioでは、プロパティとフィールドを操作するためのいくつかのリファクタリングが提供されます。 これらのリファクタリングには、[クイック アクションとリファクタリング] メニュー (Ctrl+.

フィールドをカプセル化する

Applies to: C#, Visual Basic

このリファクタリングにより、フィールドがプロパティに変換され、新しく作成されたプロパティを使用するようにそのフィールドのすべての使用法が更新されます。 これにより、プロパティに検証コードを記述してアクセスを制御できます。

  1. カプセル化するフィールドの名前の中にテキスト カーソルを強調表示または配置します。

    • C#:

      強調表示されたコードのスクリーンショット - C#。

    • Visual Basic:

      強調表示されたコードのスクリーンショット - Visual Basic.

  2. 次に、次のいずれかの操作を行います。

    • キーボード
      • Ctrl キーを押しながら R キーを押し、Ctrl キーを押しながら E キーを押します。 (キーボード ショートカットは、選択したプロファイルによって異なる場合があります)。
      • Ctrl+ キーを押します。クイック アクションとリファクタリング メニューをトリガーし、[プレビュー] ウィンドウ ポップアップから [フィールドのカプセル化] エントリを選択します。
    • マウス
      • [ 編集] > [フィールドのカプセル化 > リファクタリング] を選択します。
      • コードを右クリックし、[ クイック アクションとリファクタリング] メニューを 選択し、[プレビュー] ウィンドウ ポップアップから [フィールドエントリの カプセル化 ] を選択します。
    [選択] 説明
    フィールドのカプセル化 (およびプロパティの使用) プロパティを使用してフィールドをカプセル化し、生成されたプロパティを使用するようにフィールドのすべての使用法を更新します
    フィールドをカプセル化する (ただし、フィールドを使用する) プロパティを使用してフィールドをカプセル化しますが、フィールドのすべての使用法は変更されません

    プロパティが作成され、フィールドへの参照が更新されます (選択されている場合)。

    ヒント

    ポップアップ ウィンドウの [ 変更のプレビュー ] リンクを使用して、コミットする前に 結果を確認 します。

    • C#:

      カプセル化プロパティの結果 - C# のスクリーンショット。

    • Visual Basic:

      カプセル化プロパティの結果のスクリーンショット - Visual Basic.

自動プロパティとフル プロパティの間で変換する

適用対象: C#

このリファクタリングでは、自動実装プロパティと完全なプロパティの間で変換されます。プロパティのロジックが変更され、バッキング フィールドが必要な場合に便利です。

  1. プロパティ名にカーソルを置く。

  2. Ctrl+. キーを押して、[クイック アクションとリファクタリング] メニューをトリガーします。

  3. 次の 2 つのオプションから選択します。

    [ 完全なプロパティに変換] を選択します

    自動プロパティを完全なプロパティに変換するのスクリーンショット。

    [ 自動プロパティを使用] を選択します。

    完全なプロパティを自動プロパティに変換するのスクリーンショット。

Get メソッドとプロパティの間で変換する

Applies to: C#, Visual Basic

このセクションでは、Get メソッドとプロパティの間の双方向変換について説明します。

Get メソッドをプロパティに変換する

このリファクタリングでは、Get メソッドをプロパティ (および必要に応じて Set メソッド) に変換します。Get メソッドにロジックが含まれていない場合に便利です。

  1. Get メソッド名にカーソルを置いてください。

  2. 次に、次のいずれかの操作を行います。

    • キーボード
      • Ctrl+ キーを押します。クイック アクションとリファクタリング メニューをトリガーし、[プレビュー] ウィンドウ ポップアップから [メソッドをプロパティに置き換える] を選択します。
    • マウス
      • コードを右クリックし、[ クイック アクションとリファクタリング] メニューを 選択し、[プレビュー] ウィンドウ ポップアップから [ メソッドをプロパティに置き換える ] を選択します。
  3. (省略可能)Set メソッドがある場合は、[Get メソッドの置換] と [Set メソッドを プロパティに置き換える] を選択して、現時点で Set メソッドを変換することもできます。

  4. コード プレビューの変更に問題がなければ、 Enter キーを押すか、メニューから修正プログラムをクリックすると、変更がコミットされます。

例:

private int MyValue;

// Before
public int GetMyValue()
{
    return MyValue;
}

// Replace 'GetMyValue' with property

// After
public int MyValue
{
    get { return MyValue; }
}

プロパティを Get メソッドに変換する

このリファクタリングでは、プロパティを Get メソッドに変換します。これは、プロパティがすぐに設定して値を取得する必要がある場合に便利です。

  1. Get メソッド名にカーソルを置いてください。

  2. 次に、次のいずれかの操作を行います。

    • キーボード
      • Ctrl+ キーを押します。クイック アクションとリファクタリング メニューをトリガーし、[プレビュー] ウィンドウ ポップアップから [プロパティをメソッドに置き換える] を選択します。
    • マウス
      • コードを右クリックし、[ クイック アクションとリファクタリング] メニューを 選択し、[プレビュー] ウィンドウ ポップアップから [プロパティをメソッドに置き換える ] を選択します。
  3. コード プレビューの変更に問題がなければ、 Enter キーを押すか、メニューから修正プログラムをクリックすると、変更がコミットされます。