Hãy thử phương thức GetProperties, nó sẽ giúp bạn có được thuộc tính thay vì các trường.
Để lấy giá trị, làm một cái gì đó như thế này:
object foo = ...;
object propertyValue = foo.GetType().GetProperty("PropertyName").GetValue(foo, null);
này được sử dụng GetProperty, mà trả về chỉ là một đối tượng PropertyInfo, chứ không phải là một mảng trong số họ. Chúng tôi sau đó gọi GetValue, trong đó có một tham số của đối tượng để lấy giá trị từ (PropertyInfo là cụ thể cho loại, không phải là trường hợp). Tham số thứ hai cho GetValue là một mảng các bộ chỉ mục, cho các thuộc tính chỉ mục và tôi giả định thuộc tính mà bạn quan tâm không phải là một thuộc tính được lập chỉ mục. (Một tài sản được lập chỉ mục là những gì cho phép bạn làm list[14]
để lấy các yếu tố thứ 14 của danh sách.)
Nguồn
2012-04-26 17:03:12
Nếu bạn muốn có một tài sản, không nhìn vào các lĩnh vực. http://msdn.microsoft.com/en-us/library/kyaxdd3x.aspx –
bản sao có thể có của [Nhận giá trị thuộc tính từ chuỗi sử dụng sự phản chiếu trong C#] (http://stackoverflow.com/questions/1196991/get-property -value-from-string-using-reflection-in-c-sharp) –
@JacobKrall - thuộc tính tự động của nó thực sự, mà tôi tin rằng trình biên dịch tạo ra một trường sao lưu để thực hiện thuộc tính. – Icemanind