当前位置: 移动技术网 > IT编程>开发语言>c# > C#实现利用泛型将DataSet转为Model的方法

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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#程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网