Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中序列化ObservableCollection?_C#_Observable - Fatal编程技术网

如何在C#中序列化ObservableCollection?

如何在C#中序列化ObservableCollection?,c#,observable,C#,Observable,我有一个可观察的集合,称为“OB”,它需要序列化才能发送用于打印功能 我收到的建议是,把它作为一个类,如下所述 public class OBCollection : ObservableCollection<ViewModel> { } 公共类对象集合:ObservableCollection { } 并使用OBCollection代替“OB”,但这不起作用 有什么建议吗 我试过以下方法: 将类标记为可序列化 将可观测集合标记为数据成员 在类中添加无参数构造函数,可观察集合是

我有一个可观察的集合,称为“OB”,它需要序列化才能发送用于打印功能

我收到的建议是,把它作为一个类,如下所述

public class OBCollection : ObservableCollection<ViewModel>
{
}
公共类对象集合:ObservableCollection
{
}
并使用OBCollection代替“OB”,但这不起作用

有什么建议吗

我试过以下方法:

  • 将类标记为可序列化
  • 将可观测集合标记为数据成员
  • 在类中添加无参数构造函数,可观察集合是该类的一部分

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

对问题的解释不是很清楚。请注意,直接询问提出“建议将其作为一个类设置为…”的人可能会容易得多。上述建议是作为指南提供的,该人现在不可用。