zoukankan      html  css  js  c++  java
  • DataTable转换为Entity(反射&&泛型)

    public static IEnumerable<T> Parse<T>(IEnumerable<DataRow> rows) where T : class, new()
    {
        if (rows == null || Enumerable.FirstOrDefault<DataRow>(rows) == null)
            return (IEnumerable<T>) new T[0];
        PropertyInfo[] properties = typeof (T).GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty);
        List<T> list = new List<T>();
        foreach (DataRow row in rows)
        {
            T instance = Activator.CreateInstance<T>();
            DbHelper.Parse((object) instance, (IEnumerable<PropertyInfo>) properties, row);
            list.Add(instance);
        }
        return (IEnumerable<T>) list;
    }
    
    
    private static void Parse(object obj, IEnumerable<PropertyInfo> properties, DataRow row)
    {
        foreach (PropertyInfo propertyInfo in properties)
        {
            if (DataRowExtension.HasValue(row, propertyInfo.Name))
            {
                try
                {
                    propertyInfo.SetValue(obj, DbHelper.ConvertType(CultureInfo.CurrentCulture, row[propertyInfo.Name], propertyInfo.PropertyType), (object[]) null);
                }
            }
            catch{ }
        }
    }
  • 相关阅读:
    js模板引擎-art-template常用总结
    安装 PLSQL笔记
    [转载]软件测试之Web测试经典总结
    网络相关概念笔记
    HTTP请求过程
    Postman newman
    Postman interceptor
    SoupUI学习资料
    Postman 基本操作学习
    Postman 安装 & 资料
  • 原文地址:https://www.cnblogs.com/Lulus/p/7905328.html
Copyright © 2011-2022 走看看