软件编程
位置:首页>> 软件编程>> C#编程>> C#实现利用泛型将DataSet转为Model的方法

C#实现利用泛型将DataSet转为Model的方法

作者:罪恶的花生  发布时间:2023-09-12 13:32:26 

标签:C#,泛型,DataSet,Model

本文实例讲述了C#实现利用泛型将DataSet转为Model的方法。分享给大家供大家参考。具体如下:

因为网站需要用C#开发,习惯了java的泛型,所以看了一下C#下,也可以这样做,随便写了一个。


public static List<T> PutAllVal<T>(T entity, DataSet ds) where T : new() {
 List<T> lists = new List<T>();
 if (ds.Tables[0].Rows.Count > 0) {
   foreach (DataRow row in ds.Tables[0].Rows) {
     lists.Add(PutVal(new T(),row));
   }
 }
 return lists;
}
public static T PutVal<T>(T entity, DataRow row) where T : new() {
 //初始化 如果为null
 if (entity == null){
   entity = new T();
 }
 //得到类型
 Type type = typeof(T);
 //取得属性集合
 PropertyInfo[] pi = type.GetProperties();
 foreach (PropertyInfo item in pi){
   //给属性赋值
   if (row[item.Name] != null && row[item.Name] != DBNull.Value) {
     if (item.PropertyType == typeof(System.Nullable<System.DateTime>)) {
       item.SetValue(entity, Convert.ToDateTime(row[item.Name].ToString()), null);
     } else {
       item.SetValue(entity, Convert.ChangeType(row[item.Name], item.PropertyType), null);
     }
   }
 }
 return entity;
}

希望本文所述对大家的C#程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com