創建有沒有辦法來序列化(使用BinaryFormatter
)當我使用yield return
s表示被創建的IEnumerator<T>
?自動生成的類未標記爲Serializable
。序列化的IEnumerator <T>使用收益回報
5
A
回答
3
編譯器生成的enumerable沒有應用[Serializable]屬性,所以,不,開箱即用,你不能這樣做。
你應該問自己:「爲什麼我在這裏使用產量,一旦這個對象被反序列化,它意味着什麼?」
如果方便,您可以使用它來填充可序列化的類型。如果你用它懶散地執行一些繁重的工作,你可能需要考慮改變你的設計以序列化或反序列化你需要執行的繁重工作。
0
只需迭代枚舉器並序列化每個返回的實例即可。
3
您使用哪個課程實施IEnumerable<T>
? List<T>
應該序列化好。
嘗試在序列化之前在您的集合上調用ToList()
。
+0
+1簡單的解決方案。 – Tyrsius 2012-08-20 23:23:24
相關問題
- 1. IEnumerator收益率返回類型錯誤
- 2. 收益回報BRAINFREEZE
- 3. 重載使用收益回報
- 4. 收益率回報長度
- 5. 收益回報僅適用於IEnumerable <T>?
- 6. 方法採用收益率回報
- 7. IEnumerable的<T>和「收益率回報」的性能問題
- 8. 如何在UML序列圖中描述C#收益率回報?
- 9. WCF序列化收益率 - 菜鳥
- 10. 數據層收益率回報
- 11. .NET 4.0的重構對收益回報
- 12. 收益率回報怪異的行爲
- 13. C#收益率回報預期
- 14. GetEnumerator:返回或收益返回
- 15. 異步任務<IEnumerable>有收益率回報?
- 16. 爲什麼我的IEnumerable <String>使用收益率回報較慢來迭代然後列表<String>
- 17. 計算回報率內部收益率
- 18. 犀牛模擬執行收益回報
- 19. 收益回報完成後關閉IDataReader
- 20. 實現IEnumerator的類的序列化
- 21. 強類型方法接口使用收益回報
- 22. 什麼具體類型'收益回報'回報?
- 23. 來自事件處理程序的「收益回報」
- 24. 在Ruby中使用收益率和回報率
- 25. 如何從收益回報中顯示價值?
- 26. 序列化()的利益
- 27. 在Windows Phone上調用帶有收益回報的Webservice
- 28. 收益率的回報不會被調用方法的工作
- 29. 併發或性能返回列表的收益回報的好處
- 30. 收益率回報慢的數據庫調用
這其實並不完全正確。我曾經認爲你不能,但你可以使用代理序列化到有趣的效果,同時仍然保留相當通用的代碼。查看示例代碼:http://dotnet.agilekiwi.com/blog/2007/05/implementing-workflow-with-persistent.html – 2012-05-29 00:15:46