如何在C#中序列化ObservableCollection?

时间:2013-07-18 05:03:36

标签: c# observable

我有一个可观察的集合说“OB”,需要先将其序列化才能发送打印功能。

我收到的建议是将其作为下面所述的课程

public class OBCollection : ObservableCollection<ViewModel>
{
}

并使用OBCollection代替“OB”,但这不起作用。

对此有何建议?

我尝试过以下事情:

  • 将类标记为Serializable。
  • 将可观察集合标记为数据成员。
  • 在可观察集合所在的类中添加无参数构造函数。

1 个答案:

答案 0 :(得分:0)

ObservableCollection<T>实施IEnumerable<T>,因此您应该可以使用List<T> / T[]将其转换为ToList()ToArray()扩展。这两个都可以使用DataContractSerializer进行序列化而不会出现问题(只要正确应用了属性)。