using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization;
using System.Reflection;
using System.Diagnostics;
using System.Data;
using System.Collections;
namespace swjtuv2.Bll
{
public static class Tools
{
/// <summary>
/// 将一个对象的值完全赋给另一个对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <param name="obj"></param>
public static void ObjectCopy<T>(ref T t,T obj)
{
PropertyInfo[] pis = typeof(T).GetProperties();
foreach (PropertyInfo pi in pis)
{
object o = pi.GetValue(obj, null);
pi.SetValue(t, pi.Name, null);
}
}
/// <summary>
/// 将对像列表转换为数据集
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="lst"></param>
/// <returns></returns>
public static DataTable List2Table<T>(List<T> lst)
{
DataTable dt = new DataTable();
PropertyInfo[] pis = typeof(T).GetProperties();
foreach (PropertyInfo pi in pis)
{
DataColumn dc = new DataColumn();
dc.ColumnName = pi.Name;
dt.Columns.Add(dc);
}
foreach (T t in lst)//行
{
DataRow dr = dt.NewRow();
foreach (PropertyInfo pi in pis)//列给值
{
dr[pi.Name] = pi.GetValue(t, null);
}
dt.Rows.Add(dr);
}
return dt;
}
}
}