C#中DataRow加扩展方式-转为对象

public static T ConvertToModel<T>(this DataRow dr) {
    T t = Activator.CreateInstance<T>(); //创建实例            
    PropertyInfo[] pi = t.GetType().GetProperties();//取类的属性
    //属性赋值
    foreach (PropertyInfo p in pi) {
        if (dr.Table.Columns.Contains(p.Name) && !string.IsNullOrWhiteSpace(dr[p.Name].ToString())) {
            p.SetValue(t, Convert.ChangeType(dr[p.Name], p.PropertyType), null);
        }
    }

    return t; //Return
}

 

List<CommPay> list = new List<CommPay>();

foreach (DataRow dr in dt.Rows) {
    list.Add(dr.ConvertToModel<CommPay>());
}

  

  

posted @ 2015-03-19 14:17  我知道你的存在  阅读(2366)  评论(0编辑  收藏  举报