也说说复制实体类的值类型

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

  

现实编程中,有的时候,我们想直接把一个实体复制给另一个实体,但是又不想复制整个引用,只单单想复制值类型,这个时候 可以用反射的原理一个一个赋值。

 

posted @ 2014-06-18 10:06  georgeliu  阅读(288)  评论(1)    收藏  举报