/// <summary>
/// 复制实体的值类型
/// </summary>
/// <typeparam name="T">实体类</typeparam>
/// <param name="obj">实体对象</param>
/// <returns></returns>
public static T GetActualEntity<T>(T obj)
{
T result = System.Activator.CreateInstance<T>();//实例化一个T
PropertyInfo[] propertyOld = obj.GetType().GetProperties();
PropertyInfo[] propertyNew = result.GetType().GetProperties();
//将实体对象的每一个值赋值给T
for (int i = 0; i < propertyOld.Length; i++)
{
propertyNew[i].SetValue(result, propertyOld[i].GetValue(obj, null), null);
}
return result;
}
现实编程中,有的时候,我们想直接把一个实体复制给另一个实体,但是又不想复制整个引用,只单单想复制值类型,这个时候 可以用反射的原理一个一个赋值。
原文:http://www.cnblogs.com/georgeliu/p/3794052.html