シナリオ
string
プログラムで使用される定数を宣言するためのクラスがあります。
public static class StringConstants
{
public const string ConstantA = "ConstantA";
public const string ConstantB = "ConstantB";
// ...
}
基本的に、定数の実際の値が何であるかは重要ではありません。これは、代入および消費時に使用されるためです。あくまでも確認用です。
定数名は一目瞭然ですが、同じ文字列値を複数回使用することは避けたいと思います。
やりたいこと
がコンパイル時に評価されることはわかっているので、の値をa メンバーnameof()
に割り当てることは完全に可能です。const string
nameof()
これらの魔法の文字列を書き出す手間を省くためにnameof()
、定数自体を使用することを考えました。
そのようです:
public static class StringConstants
{
public const string ConstantA = nameof(ConstantA);
public const string ConstantB = nameof(ConstantB);
// ...
}
質問...
nameof()
リファクタリング以外に、を使用する本当の利点はないと思いますか?
nameof()
定数を割り当てるときに使用することには何か意味がありますか?
ハードコードされた文字列だけを使用する必要がありますか?