當我沒有實例時,我經常想獲取某個類型的實例屬性的名稱。目前要做到這一點,我用下面的室內功能,它解釋Expression[Func[T, object]]
參數和返回屬性名稱:Can C#nameof操作符引用實例屬性沒有實例嗎?
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)
實際工作原樣。
它只是工作 - 'class C {public int P {get; (C.P)''''''編譯得很好。 –