我在做一個class深復制,用的是json序列化,反列化方式
本來感覺很簡單的,誰知道一直出現錯誤
網上一搜到只有一處提到這個錯誤的http://www.rzrgm.cn/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;
}
后來才發現寫入流后,流當前指針指向了文件尾部,只需要將流位置指向首位置即可,
哈,一個簡單錯誤沒發現,
浙公網安備 33010602011771號