最近要实现一个功能,即实①实体类的单向赋值;②实体类的多向赋值
我直接把源码贴出来了
/// <summary>
/// 自动转换
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="name"></param>
/// <returns></returns>
private static T DateType<T>(string name)
{
try
{
T ret = (T)Convert.ChangeType(name, typeof(T));
return ret;
}
catch (Exception ex)
{
}
return default(T);
}
/// <summary>
/// 双向赋值 将T1赋值给T2
/// </summary>
/// <typeparam name="T1"></typeparam>
/// <typeparam name="T2"></typeparam>
/// <param name="t1"></param>
/// <returns></returns>
public static T2 Copy<T1, T2>(this T1 t1) where T2 : class, new()
{
T2 t2 = Activator.CreateInstance<T2>();//创建对象T2
//将T1内部的数据Copy T2中
foreach (PropertyInfo item1 in t1.GetType().GetProperties())
{
if (t1.GetType().GetProperty(item1.Name).GetValue(t1, null) == null)
continue;
foreach (PropertyI