把dataset对象转换成list集合方法

1 public static List<T> GetList<T>(DataTable table) where T:new() 2 { 3 List<T> list = new List<T>(); 4 // 5 T t = default(T); 6 PropertyInfo[] propertypes = null; 7 string tempName = string.Empty; 8 try 9 { 10 foreach (DataRow row in table.Rows) 11 { 12 //动态创建对象 13 t = Activator.CreateInstance<T>(); 14 t = new T(); 15 propertypes = t.GetType().GetProperties(); 16 foreach (PropertyInfo pro in propertypes) 17 { 18 tempName = pro.Name; 19 if (table.Columns.Contains(tempName)) 20 { 21 object value = row[tempName]; 22 if (value != null && value != DBNull.Value && row[tempName].ToString() != null && 23 !row[tempName].ToString().Trim().Equals("")) 24 { 25 if (tempName.Trim().ToLower().Equals("lastmodify")) 26 { 27 // pro.SetValue(t, ConvertHelper.ConvertToTimestamp(Convert.ToString(value)), null); 28 } 29 else 30 { 31 if (pro.PropertyType == typeof(System.Char) || pro.PropertyType == typeof(System.Nullable<System.Char>)) 32 { 33 pro.SetValue(t, Convert.ToChar(value), null); 34 } 35 else 36 { 37 pro.SetValue(t, value, null); 38 } 39 40 41 } 42 } 43 } 44 } 45 list.Add(t); 46 } 47 } 48 catch (Exception ex) 49 { 50 throw new Exception(ex.Message); 51 } 52 return list; 53 }
1、 T t = default(T); 表示获得T类型
2、 t = Activator.CreateInstance<T>(); 根据类型创建对象
3、获得所有的属性
propertypes = t.GetType().GetProperties();
4、 pro.SetValue(t, value, null);设置相应对象的属性值
分类:
.NET反射机制学习
标签:
反射获得对象的属性
posted on 2014-09-23 10:24 topguntopgun 阅读(1003) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人