Tôi cần tạo một hàm nhận tất cả các tính thích hợp của một đối tượng (bao gồm cả đối tượng con). Ngay bây giờ mã của tôi luôn trả về 0 thuộc tính. Vui lòng cho tôi biết tôi đang làm gì sai, cảm ơn!Lớp phản chiếu để lấy tất cả các thuộc tính của bất kỳ đối tượng nào
public static string GetAllProperiesOfObject(object thisObject)
{
string result = string.Empty;
try
{
// get all public static properties of MyClass type
PropertyInfo[] propertyInfos;
propertyInfos = thisObject.GetType().GetProperties(BindingFlags.Public | BindingFlags.Static);//By default, it will return only public properties.
// sort properties by name
Array.Sort(propertyInfos,
(propertyInfo1, propertyInfo2) => propertyInfo1.Name.CompareTo(propertyInfo2.Name));
// write property names
StringBuilder sb = new StringBuilder();
sb.Append("<hr />");
foreach (PropertyInfo propertyInfo in propertyInfos)
{
sb.AppendFormat("Name: {0} | Value: {1} <br>", propertyInfo.Name, "Get Value");
}
sb.Append("<hr />");
result = sb.ToString();
}
catch (Exception exception)
{
// to do log it
}
return result;
}
đây là những gì các đối tượng trông giống như:
(IPAddress, MerchantSessionId, vv) là thuộc tính chứ không phải là trường, phải không? –
Reed, tôi không chắc chắn. Tuy nhiên tôi quan tâm đến việc nhận được tất cả các lĩnh vực và tài sản. Bao gồm bất kỳ đối tượng phụ nào. – aron