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>());
}

  

  

原文地址:https://www.cnblogs.com/chenliang-zibo/p/4350305.html