MyBookShop/Core/DataTransfer.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
using System.Data;
namespace Core
{
/*
* 类名:DataTransfer
* 创建时间:2016/10/11 12:12:25
* 创建人:XX人员
* 基本功能:
* 版本:
* version 1.0
* **/
public class DataTransfer<T> where T:class
{
public static T GetEntity(DataSet ds)
{
//创建T对象
T entity = Activator.CreateInstance<T>();
//获取T类型
Type type = typeof(T);
//获取T类型中所有的公共属性
PropertyInfo[] properties = type.GetProperties();
//判断ds数据表格是否合理
if (!(ds.Tables.Count != 0 && ds.Tables[0].Rows.Count == 1))
{
//throw new Exception("数据表格数据不合法!");
entity = null;
}
else
{
//获取数据表格中的一条数据
DataRow dr = ds.Tables[0].Rows[0];
//循环属性,并赋值
foreach (PropertyInfo item in properties)
{
//判断列是否包含在数据库表格中
if (!ds.Tables[0].Columns.Contains(item.Name))
{
continue;
}
object changeValue = Convert.ChangeType(dr[item.Name], item.PropertyType);
if (changeValue != null)
{
item.SetValue(entity, changeValue);
}
}
}
return entity;
}
/// <summary>
/// DataSet转换泛型集合
/// </summary>
/// <param name="ds"></param>
后面还有 47 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。