Я регулярно хочу получить имя свойства экземпляра типа, когда у меня нет экземпляра. В настоящее время для этого я использую следующую встроенную функцию, которая интерпретирует параметр 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)
, как описано, действительно работает как есть.