我在做一个class深复制,用的是json序列化,反列化方式
本来感觉很简单的,谁知道一直出现错误
网上一搜到只有一处提到这个错误的http://www.cnblogs.com/jkf37551/archive/2015/11/20/4981279.html
其它网站搜的结果也是一模一样
我的代码如下:
public T Copy() { MemoryStream mem = new MemoryStream(); DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T)); json.WriteObject(mem, item); mem.Seek(0, SeekOrigin.Begin);//这里没有报错,因为当前位置在最后边 var r = (T)json.ReadObject(mem); mem.Close(); return r; }
后来才发现写入流后,流当前指针指向了文件尾部,只需要将流位置指向首位置即可,
哈,一个简单错误没发现,