引用类型复制去除引用

  /// <summary>
        /// 深度复制
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="SourceObj"></param>
        /// <returns></returns>
        public static T DeepClone<T>(this T SourceObj) where T : new()
        {
            string rtnStr = JsonConvert.SerializeObject(SourceObj);
            object obj = JsonConvert.DeserializeObject(rtnStr, typeof(T));
            T DestObj = default(T);
            if (obj != null && obj is T)
            {
                DestObj = (T)obj;
            }
            return DestObj;
        } 
posted @ 2014-12-06 19:35  莫欺  阅读(244)  评论(0编辑  收藏  举报