当我没有实例时,我经常想获取一个类型的实例属性的名称。目前为此,我使用以下内部函数来解释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)
所描述的语法实际上是按原样工作的。