フィールドのカプセル化リファクタリング
このリファクタリングでは、既存のフィールドのバッキングフィールドを持つ自動プロパティまたはプロパティを作成できます。フィールドの用途は自動的に更新されます。
次の例では、フィールドが auto-property に置き換えられています。
フィールドを公開または置換する新しいプロパティを作成する
キャレットをエディターのフィールドの宣言または使用箇所に置くか、ファイル構造ウィンドウウィンドウで選択します。
以下のいずれか 1 つを実行します:
Control+R E を押します。
Control+Shift+R を押し、フィールドのカプセル化を選択します。
右クリックして、コンテキストメニューからリファクタリング | フィールドのカプセル化を選択します。
メインメニューから
を選択します。
フィールドのカプセル化ダイアログが開きます。
ReSharper は、フィールド名とプロパティの命名スタイルに基づいて、プロパティの名前を提案します。必要に応じて名前を変更してください。
作成されたプロパティの可視性を指定します。
自動プロパティを作成することを選択した場合、フィールドは削除され、その使用箇所はすべての場所でプロパティに置き換えられます。
それ以外の場合、このフィールドは新しいプロパティのバッキングフィールドとして使用され、プロパティとその使用箇所を更新する方法を選択できます。
使用箇所を読む / 使用箇所を書くを選択して、フィールドの対応する使用箇所をプロパティに置き換えます。
名前の使用箇所を選択して、
nameof()
式および XML ドキュメントコメント内のフィールド名の出現箇所をプロパティの名前に置き換えます。現在の型のフィールドへの参照を残すには、ローカルの使用箇所を更新しないを選択します。
フィールドがプライベートでない場合は、フィールドを非公開にするを選択して、現在の型以外のフィールドへの直接アクセスを禁止します。
リファクタリングを適用するには、次へをクリックします。
競合が見つからない場合、ReSharper はすぐにリファクタリングを実行します。それ以外の場合は、競合を解決するように求められます。
この機能は、次の言語とテクノロジーでサポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。他の言語の詳細については、言語およびフレームワークセクションの対応するトピックを参照してください。
関連ページ:
プロパティの生成
ReSharper は、公開したいすべてのフィールドのプロパティを生成できます。以下の例では、このコマンドを使用して、およびフィールドのプロパティを生成します。class Circle { int _radius; readonly Point _center; public Circle(int radius, Point center) { _radius = radius; _center = center; } }class Circle { int _radius; readonly...
構造別にファイルを移動する
ファイル構造ウィンドウ:ReSharper では、ファイル構造ウィンドウを使用して現在のドキュメントの構造を移動でき、大きなファイルでのナビゲーションが大幅に簡素化されます。ウィンドウはエディターと同期されます。別のエディタータブに切り替えると、ウィンドウには対応するファイルの構造が表示されます。ファイル構造ウィンドウを開いて使用するを押すか、メインメニューからを選択します。あるいは、を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。現在のドキュメントの内容はツリー
ネーミングスタイル
ReSharper は、コード内のシンボルの希望する命名スタイルを定義、制御、適用できます。一連のルールがあり、各ルールは一連の制約を持つ特定の識別子を対象とします (たとえば、ルールは静的プライベート読み取り専用フィールドを対象にすることができます)。各ルールには、複合語、アンダースコア、接尾辞、接頭辞などの大文字化を定義する 1 つ以上の関連スタイルを含めることができます。これらのルールは、ReSharper がコード補完およびコード生成機能を使用して新しいコードを生成し、コードテンプレート...
リファクタリングの競合を解決する
ReSharper のすべてのリファクタリングはソリューション全体に適用されるため、多くのファイルが影響を受ける可能性があり、一部の変更は既存のコードと競合する可能性があります。競合がある場合、ReSharper はそれらを検出し、リファクタリングウィザードの最後のページに競合のリストを表示します。例: 安全な削除リファクタリングをメソッドに適用するときに表示されるいくつかの競合を次に示します。競合には 2 つの型があります。コンパイルを中断することなく削除できる使用箇所は、アイコンでマークされて...
アクションインジケーターとアクションリスト
ReSharper が Visual Studio テキストエディターに追加する最も注目すべきものの中には、アクションインジケータとアクションリストがあります。これらは、ReSharper でサポートされているすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NET など)に表示され、使用可能なアクションについて通知し、適用できます。アクションインジケータ:アクションインジケーターは、設定に応じて、アクションバー、テキストエディターの左マージンおよび / また...
さまざまな言語の ReSharper 機能
以下の表は、各 ReSharper 機能がサポートされている言語 / テクノロジーを説明しています。これらは言語固有の機能のみをリストし、プロジェクト依存関係ダイアグラム、名前空間の調整リファクタリング、スタックトレースエクスプローラーなどのプロジェクト / ソリューションスコープの多くの機能を含まず、最近のファイルを表示します。コード解析:コードインスペクション