Tôi thường xuyên muốn lấy tên của một đặc tính cá thể của một loại, khi tôi không có cá thể nào. Hiện nay để làm được điều này, tôi sử dụng các chức năng trong nhà sau đó giải thích các tham số Expression[Func[T, object]]
và trả về tên thuộc tính:Có thể C# tên của tài sản ví dụ tham chiếu toán tử không có cá thể không?
var str = LinqExtensions.NameOf<ClientService>(x => x.EndDate);
// Now str == "EndDate"
Tuy nhiên có vẻ như một sự xấu hổ không sử dụng được xây dựng trong nameof
điều hành.
Thật không may có vẻ như toán tử nameof
yêu cầu một cá thể hoặc tham chiếu đến một thuộc tính tĩnh.
Có cách nào gọn gàng để sử dụng toán tử nameof
thay vì chức năng trong nhà của chúng tôi không? Ví dụ:
nameof(ClientService.EndDate) // ClientService.EndDate not normally syntactically valid as EndDate is instance member
EDIT
tôi là hoàn toàn sai, cú pháp nameof(ClientService.EndDate)
như mô tả thực sự hoạt động như vậy.
Nó chỉ hoạt động - 'class C {public int P {get; }} '-' nameof (C.P) 'biên dịch tốt. –