通用深复制放
一、需求来源
常常因为一个对象给多个对象赋值时,多个对象所得到的值都是取最后一次的值,使得最后多个对象的值相同,
为了避免这种bug,采用深浅复制来解决。
二、解决方案
/// <summary> /// 通用的深复制方法 /// </summary> /// <typeparam name="T"></typeparam> [Serializable] public static class BaseClone<T> { public static T Clone(T t) { MemoryStream memoryStream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(memoryStream, t); memoryStream.Position = 0; return (T)formatter.Deserialize(memoryStream); } }