書式設定メンバーの生成
.NET の任意の型は ToString() メソッドを実装しており、その型のオブジェクトの文字列表現を返します。 型に意味のある文字列を返すには、 ToString() メソッドをオーバーライドする必要がある場合が多いです。
JetBrains Rider では、 書式設定メンバーの生成 コマンドを使ってこのルーチンを自動化できます。
ターゲット C# バージョンに応じて、JetBrains Rider は補間文字列または 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 を押すか、メインメニューから を選択してください。 あるいは、 Ctrl+Shift+A を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。
生成する ポップアップで、 書式設定メンバー を選択します。
表示される 生成する ダイアログで、
ToString()のオーバーライドで使用するフィールドや自動プロパティを選択します。
型にフィールドまたはプロパティが存在しない場合、またはいずれも選択しない場合、JetBrains Rider は設定に応じて新しい
NotImplementedException()をスローする、デフォルト値を返す、または生成されたメソッドの本体にコンパイルできないコードを配置します。必要に応じて、ダイアログで次のコントロールを使用します。
ToString はすでに存在する —
ToString()の実装がすでに存在する場合に表示され、次のいずれかを選択できます。メソッドがすでに存在する場合は置換します。
新しく生成されたメソッドを既存のメソッドと並べて置きます。
新しいメソッドの生成をすべてスキップします。
'nameof' を使用する — ターゲットの C# バージョンが 6.0 より新しい場合に表示されます。 このチェックボックスを選択すると、JetBrains Rider は
nameof(symbol_name)を使ってシンボルの文字列表現を定義します。選択しない場合、文字列表現は自動的に計算されます。例えば、_radiusというフィールドは"Radius"として表示されます。
OK をクリックしてウィザードを完了します。
生成する メニューで メンバーを無効にするを選択することでオーバーライドを生成することもできますが、この場合、オーバーライドは base.ToString() を返します。