Một đại diện chuỗi của một tài sản trường hợp đối tượng có thể được thực hiện với Expression<Func<T>>
:Có thể lấy chuỗi tên thuộc tính đối tượng mà không tạo đối tượng đối tượng không?
string propertyName = ((MemberExpression) property.Body).Member.Name;
Nhưng nếu tôi không có (không muốn tạo) trường hợp? Làm cách nào để tôi có được tên thuộc tính trong trường hợp này?
Giải thích
Tôi cần một chuỗi đại diện của một tên sở hữu của một số đối tượng.
Hãy nói rằng có một thực thể
public class Customer
{
public int ID;
public string Name;
}
Bây giờ tôi muốn vượt qua sự biểu hiện quan trọng của tổ chức này đối với một số chức năng khác, vì vậy tôi cần chuỗi "ID", nhưng tôi không muốn hardcode chuỗi như SomeOtherFunction("ID")
, thay vào đó tôi sử dụng cụm từ SomeOtherFunction(ExpressionReader.GetString(() => CustomerInstance.ID))
. Để làm việc này, tôi cần cung cấp cá thể thực thể.
Bây giờ tôi muốn làm tương tự mà không cần tạo cá thể.
Ý anh là gì bởi "sơ thẩm "? Bạn không cần phải tạo một thể hiện của lớp để lộ ra thuộc tính, nhưng rõ ràng là bạn cần một cá thể của 'Expression'. –
CodesInChaos
bạn biết về typeof (myClass) .GetProperty ("abc"), phải không? – Efrain
Sự khác nhau giữa mã hóa tài sản ID và chuỗi "ID" là gì? – SWeko