インスタンスがない場合、型のインスタンス プロパティの名前を定期的に取得したいと考えています。現在これを行うために、パラメーターを解釈しExpression[Func[T, object]]
てプロパティ名を返す次の社内関数を使用しています。
var str = LinqExtensions.NameOf<ClientService>(x => x.EndDate);
// Now str == "EndDate"
nameof
ただし、組み込みの演算子を使用しないのは残念です。
残念ながら、nameof
オペレーターはインスタンスを必要とするか、静的プロパティを参照する必要があるようです。
nameof
社内関数の代わりに演算子を使用する適切な方法はありますか? 例えば:
nameof(ClientService.EndDate) // ClientService.EndDate not normally syntactically valid as EndDate is instance member
編集
私は完全に間違っていましたnameof(ClientService.EndDate)
。説明されている構文は実際にはそのまま機能します。