Deep clone object by serialization

来源:互联网 发布:怎样才能做淘宝客推广 编辑:程序博客网 时间:2024/05/21 21:31
      public static object DeepClone(object original)      {         using (MemoryStream ms = new MemoryStream())         {            BinaryFormatter formatter = new BinaryFormatter();             formatter.Context = new StreamingContext(StreamingContextStates.Clone);            formatter.Serialize(ms, original);            ms.Position = 0;             return formatter.Deserialize(ms);         }      } 


为了明确反序列化时的目的,可以指定StreamingContext.Clone,序列化代码可认定是由同一个进程对数据进行反序列化,所以可以安全的访问句柄或其他非托管资源。

0 0
原创粉丝点击