C#使用Reflection来获取通用对象(及其嵌套对象)属性

前端之家收集整理的这篇文章主要介绍了C#使用Reflection来获取通用对象(及其嵌套对象)属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是为了帮助了解我想要实现的目的而创建的一个场景.

我正在尝试创建一个返回一个通用对象的指定属性方法

例如

public object getValue<TModel>(TModel item,string propertyName) where TModel : class{
    PropertyInfo p = typeof(TModel).GetProperty(propertyName);
    return p.GetValue(item,null);
}

如果您正在寻找TModel项目上的一个属性,上面的代码工作正常
例如

string customerName = getValue<Customer>(customer,"name");

但是,如果您想了解客户群组的名称,就成为一个问题:
例如

string customerGroupName = getValue<Customer>(customer,"Group.name");

希望有人能给我一些关于这种方式的洞察力 – 谢谢.

解决方法

在System.Web.UI命名空间中有一个方法
DataBinder.Eval(source,expression);

猜你在找的C#相关文章