「パラメーターの導入」リファクタリング
このリファクタリングでは、新しいパラメーターを追加することにより、メソッド実装からその呼び出し元に式を移動できます。式のすべての出現箇所が新しいパラメーターに置き換えられます。ソリューション内のメソッドへのすべての呼び出しは、新しい引数で更新されます。
以下の例では、このリファクタリングを使用して、同じ文字列の 2 つの出現箇所をパラメーターに置き換えます。文字列自体は呼び出し元の引数に移動されます。
パラメーターとして渡す式が、メソッド本体で宣言された変数を参照する場合、ReSharper では、汎用デリゲートパラメーターを導入し、それを使用して呼び出し元からラムダ式を渡すことで、これらの変数を「ラムダ化」できます。以下の例では、"The current time is: " + currentTme
式のリファクタリングを呼び出します。
選択した式のパラメーターを導入する
エディターで、メソッドまたはコンストラクター内の式を選択します。
以下のいずれか 1 つを実行します:
Control+Alt+P を押します。
Control+Shift+R を押し、パラメーターの導入を選択します。
右クリックして、コンテキストメニューからリファクタリング | パラメーターの導入を選択します。
メインメニューから
を選択します。
選択された式が複数見つかった場合、ReSharper はドロップダウンメニューを表示して、すべての出現箇所にリファクタリングを適用するか、現在のリファクタリングのみに適用するかを選択できます。
表示されるパラメーターの導入ダイアログで、新しいパラメーターの名前を入力します。
選択した式が定数であるか値型である場合は、その式を導入されたパラメーターのデフォルト値として使用できます。そうするには、デフォルトにするチェックボックスを選択します。
選択した式が他の変数に依存する場合、これらの変数は enlambda する変数を選択してくださいセクションに表示されます。ジェネリクスデリゲートで使用する変数を選択します(この場合はパラメーターとして追加されます)。
リファクタリングを適用するには、次へをクリックします。
競合が見つからない場合、ReSharper はすぐにリファクタリングを実行します。それ以外の場合は、競合を解決するように求められます。
この機能は、次の言語とテクノロジーでサポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。他の言語の詳細については、言語およびフレームワークセクションの対応するトピックを参照してください。
関連ページ:
パラメーターのインライン化リファクタリング
このリファクタリングでは、メソッドのパラメーターをメソッド呼び出しの引数の値に置き換えることができます。複数のコールがある場合は、引数を取るためにコールを選択できます。単純なケース。パラメーターの定数値のインライン展開:private double AreaOfCircle(double rad, double pi) { return pi*rad*rad; } public void Test() { var area = AreaOfCircle(10, Math.PI); }privat...
リファクタリングの競合を解決する
ReSharper のすべてのリファクタリングはソリューション全体に適用されるため、多くのファイルが影響を受ける可能性があり、一部の変更は既存のコードと競合する可能性があります。競合がある場合、ReSharper はそれらを検出し、リファクタリングウィザードの最後のページに競合のリストを表示します。例: 安全な削除リファクタリングをメソッドに適用するときに表示されるいくつかの競合を次に示します。競合には 2 つの型があります。コンパイルを中断することなく削除できる使用箇所は、アイコンでマークされて...
ASP.NET MVC 特有の機能
ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...
言語による ReSharper: MSBuild
MSBuild は、アプリケーションを構築するために広く使用されているプラットフォームです。特定の XML タグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharper を使用すると、より速く行うことができます。コード検査:あらかじめ定義された要素またはその属性の名前を誤って入力した場合、ReSharper はそのような不一致についてハイライト表示します。まだ定義されていないプロパティを参照しようとすると、ReSharper はそのようなケースも検出します。MSBuild...
言語による ReSharper: Google プロトコルバッファ (Protobuf)
ReSharper オプションのページで Protobuf サポートが明示的に有効になっている場合、ReSharper は Google Protocol Buffers (Protobuf) バージョン 2.x および 3.0 の .proto ファイルでコード分析および支援機能を提供します。ReSharper は、.proto ファイルの言語構文をハイライトし、エラーを検出してハイライトします。基本コード補完と他のタイピング支援機能はエディターで利用可能です。型と値の宣言に行き、それらの使用箇所を...
言語 JSON による ReSharper
JSON および JSON スキーマのサポートは、現在、構文のハイライト(古い Visual Studio バージョンを含む)のような基本的なものから、コードのフォーマットや再配置(たとえば、オブジェクトのプロパティや任意の選択を移動できる)、コードインスペクションおよびクイックフィックスなどのより高度な機能にまでおよびます。スキーマ、パス、正規表現、パッケージを認識するコード補完も同様です。JSON 値ヘルパー:ReSharper では、JSON プロパティの一部を特定の値タイプ(正規表現、...