C#深拷贝(克隆)

1.深拷贝

应用场景(引用类型):汇总打印数据时,会进行计算,导致软件界面展示数据时,打印后和打印前展示的明细数据不相同。

/// <summary>
        /// 实体深度复制
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="RealObject"></param>
        /// <returns></returns>
        public static T Clone<T>(T RealObject)
        {
            using (Stream objectStream = new MemoryStream())
            {
                IFormatter formatter = new BinaryFormatter();
                formatter.Serialize(objectStream, RealObject);
                objectStream.Seek(0, SeekOrigin.Begin);
                return (T)formatter.Deserialize(objectStream);
            }
        }

 

posted @ 2021-11-24 10:56  博客YS  阅读(398)  评论(0编辑  收藏  举报