/// <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