dynamic Getvalue 返回对象强制转换为 PropertyInfo.PropertyType



我的问题是:如何使

PropertyInfo.GetValue(object, null);
返回

强制转换为属性类型的值,而不是返回对象。

我尝试了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)操作与数据库.

你不能。

为了简单起见,可以在其上编写一个通用包装器。

public static T GetValue<T>(Object obj1, Object obj2)
{
return (T)PropertyInfo.GetValue(obj1, obj2);
}

相关内容

  • 没有找到相关文章

最新更新