クラスやメソッドから、そのクラス名やメソッド名を文字列で取得するには、
nameof() を使用します。
サンプル
例)クラス、メソッド、変数から名称を文字列で取得する
//DateTimeらクラス名を取得する
string a = nameof(DateTime);
//DateTime.Nowからメソッド名を取得する
string b = nameof(DateTime.Now);
//変数valの変数名を取得する
int val = 100;
string c = nameof(val);
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
結果
DateTime
Now
val
備考
- nameofは、C#6.0以降のバージョンで使用できます。
- 存在しないクラスやメソッドをnameofに指定した場合はコンパイルエラーとなるため、
タイプミスなどを防ぐことができます。