次の方法で共有


ローカル変数をリファクタリング (C#) パラメーターを昇格させる

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

[ローカル変数をパラメーターへ昇格] は、変数をローカルでの使用からメソッド、インデクサー、またはコンストラクターのパラメーターに簡単に移し、同時に呼び出し側を正しく更新できる Visual C# リファクタリング操作です。

[ローカル変数をパラメーターへ昇格] を実行する前に、上位変換する変数にカーソルを移動します。 変数を宣言するステートメントでは、変数への値や式の割り当ても必要です。 カーソルの位置が、呼び出し、昇格ローカル変数をパラメーターの操作、キーボード ショートカット Ctrl キーを押しながら R を入力して、ショートカット メニューからコマンドを選択します。

[ローカル変数をパラメーターへ昇格] を呼び出すと、変数がメンバーのパラメーター リストの末尾に追加されます。 変更されたメンバーに対する呼び出しは直ちに更新され、変数に割り当てられていた式として新しいパラメーターが使用されます。コードは変更されないため、変数の上位変換前と同様に機能します。

ローカル変数をパラメーターへ上位変換するには

  1. PromoteLocal、というコンソール アプリケーションを作成クリックして追加次のコード例 ProgramPromoteLocal 名前空間でクラスの後にします。

    class ProtoA
    {
        public static void MethodB()
        {
            // Invoke on 'i'
            int i = 0;
        }
    }
    
    class ProtoC
    {
        void MethodD()
        {
            ProtoA.MethodB();
        }
    }
    
  2. i 内の定義において、MethodB の横にポインターを置きます。

  3. [リファクター] メニューの [ローカル変数をパラメーターへ昇格] をクリックします。

    キーボード ショートカットとして Ctrl キーを押しながら R キーを押し、P キーを押すことでも、このリファクタリング操作を実行できます。

    このリファクタリング操作を実行するには、ポインターを右クリックし、コンテキスト メニューの [リファクター] をポイントし、[ローカル変数をパラメーターへ昇格] をクリックする方法もあります。

    これにより、MethodB にパラメーター int i が用意され、 ProtoA.MethodB 呼び出しによって zero が値として渡されます。

解説

このリファクタリングは、上位変換される変数が定数値に割り当てられている場合に最適です。 変数は、宣言か割り当ての一方だけではなく、宣言と初期化の両方が行われている必要があります。

参照

概念

リファクタリング (C#)