C#对象深copy

众所周知,.net中的类是引用型对象,直接采用A=B的方式进行复制对象其实是添加B对象对A对象的引用,当B对象修改时A对象也将被修改,所以需要重新创建一个对象B并且让B与A相等

这里提供一种方式提供对象的Copy

public static T CloneOf<T>(T serializableObject)
        {
            object objCopy = null;

            MemoryStream stream = new MemoryStream();
            BinaryFormatter binFormatter = new BinaryFormatter();
            binFormatter.Serialize(stream, serializableObject);
            stream.Position = 0;
            objCopy = (T)binFormatter.Deserialize(stream);
            stream.Close();
            return (T)objCopy;

        }

  

posted on 2014-08-06 10:04  ☆暀倳隨颩☆  阅读(133)  评论(0编辑  收藏  举报