代码之家  ›  专栏  ›  技术社区  ›  svick Raja Nadar

序列化使用yield return创建的IEnumerator

  •  5
  • svick Raja Nadar  · 技术社区  · 15 年前

    有没有一种方法可以序列化(使用 BinaryFormatter )那个 IEnumerator<T> 当我使用 yield return 什么?未标记自动生成的类 Serializable .

    3 回复  |  直到 15 年前
        1
  •  3
  •   user1228 user1228    15 年前

    编译器生成的可枚举项没有应用[Serializable]属性,因此,不,开箱即用不能这样做。

    你应该扪心自问,“为什么我在这里使用yield,一旦这个对象被反序列化,它意味着什么?”

    如果方便的话,可以使用它来填充可以序列化的类型。如果您使用它以一种懒惰的方式执行一些繁重的提升,那么您可能需要考虑更改您的设计以序列化/反序列化执行该繁重提升所需的信息。

        2
  •  4
  •   Robert Harvey    15 年前

    您使用哪个类来实现 IEnumerable<T> List<T> 应该序列化确定。

    ToList() 在你的收藏系列化之前。

        3
  •  0
  •   codekaizen    15 年前

    只需迭代枚举器并序列化返回的每个实例。

    推荐文章