我的问题是:如何制作
PropertyInfo.GetValue(object, null);
返回值,转换为PropertyType,而不是返回对象。
我尝试过Convert.ChangeType但不是运气。
谢谢。
更新1:
更多细节:
我的代码:
foreach (var propertyInfo in customerInfo.CustomerRelationship.GetType().GetProperties())
{
var relationshipList = (IList)propertyInfo.GetValue(customerInfo.CustomerRelationship, null);
foreach (var relationship in relationshipList)
{
}
}
带
public struct CustomerInfo
{
public Customer CustomerItem { get; set; }
public Relationship CustomerRelationship { get; set; }
}
public class Relationship
{
public List<Contact> ContactItems { get; set; }
public List<Department> DepartmentItems { get; set; }
..........
}
因为我无法动态转换每个关系项显示我无法比较,查询(Linq)操纵数据库。
答案 0 :(得分:3)
你不能。
为简单起见,可以在其上写一个通用的包装器。
public static T GetValue<T>(Object obj1, Object obj2)
{
return (T)PropertyInfo.GetValue(obj1, obj2);
}