書式設定メンバーの生成
.NET の任意の型は ToString() メソッドを実装しており、型のオブジェクトの文字列表現を返します。 型の意味のある文字列を返すために、よく ToString() メソッドをオーバーライドする必要があります。
ReSharper では、 書式設定メンバーの生成 コマンドを使ってこのルーチンを自動化できます。
ターゲット C# バージョンに応じて、ReSharper は補間文字列または String.Format() のいずれかを使用します。 コンテキストアクション Alt+Enter を使用してそれらの間でいつでも変換できることに注意してください。
以下の例では、このコマンドを使用して、 _radius および _center フィールドに基づいて ToString() メソッドを生成します。
生成前 | 生成後 |
|---|---|
class Circle
{
int _radius;
Point _center;
}
|
class Circle
{
int _radius;
Point _center;
public override string ToString()
{
return $"{nameof(_radius)}: {_radius}, {nameof(_center)}: {_center}";
}
}
|
メンバーをフォーマットするためのオーバーライドを生成する
エディターで、型名または型内のフォーマットメンバーのオーバーライドを挿入する行にキャレットを置きます。 キャレットが型名上にある場合、生成されたコードは型宣言の先頭に追加されます。
Alt+Insert を押すか、メインメニューから を選択します。 あるいは、 Control+Shift+A を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。
生成する ポップアップで、 メンバーのフォーマット を選択します。
表示される 生成する ダイアログで、
ToString()オーバーライドで使うフィールドや自動プロパティを選択します。
型にフィールドやプロパティが存在しない、またはそれらを選択しない場合、ReSharper は設定に応じて、新しい
NotImplementedException()をスローするか、デフォルト値を返すか、生成したメソッドの本体にコンパイルできないコードを記述します。 ReSharper オプションの ページで設定できます。必要に応じて、ダイアログで次のコントロールを使用します。
ToString はすでに存在する —
ToString()の実装がすでに存在する場合に表示され、次のいずれかを選択できます。メソッドがすでに存在する場合は置換します。
新しく生成されたメソッドを既存のメソッドと並べて置きます。
新しいメソッドの生成をすべてスキップします。
'nameof' を使用する — ターゲット C# バージョン が 6.0 より高い場合に表示されます。 このチェックボックスを選択すると、ReSharper は
nameof(symbol_name)を使ってシンボルの文字列表現を定義します。選択しない場合は命名を自動的に計算し、例えば_radiusという名前のフィールドは"Radius"として表示されます。
完了 をクリックしてウィザードを完了します。
オプション をクリックすることで、ReSharper オプションの ページで一般的なコード生成の環境設定を確認または変更することもできます。
生成する メニューで メンバーを無効にするを選択することでオーバーライドを生成することもできますが、この場合、オーバーライドは base.ToString() を返します。
この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。