利用二进制序列化和反序列化实现

public static T DeepCopy<T>(T obj)
{
    
object retval;
    
using (MemoryStream ms = new MemoryStream())
    {
        BinaryFormatter bf 
= new BinaryFormatter();
        
//序列化成流
        bf.Serialize(ms, obj);
        ms.Seek(
0, SeekOrigin.Begin);
        
//反序列化成对象
        retval = bf.Deserialize(ms);
        ms.Close();
    }
    
return (T)retval;
}

相关文章: