0

对于 DataContractSerializer,必须对 XML 中的项目进行排序。

它是由“订单”属性决定的。或按字母顺序为 .NET

对于 Mono,它被忽略,因此 order 与可序列化类中提到的数据成员一样。此处描述了 Mono 的错误:

https://bugzilla.xamarin.com/show_bug.cgi?id=10545

现在,问题是,我们有一个关于 Mono 的大项目。有大量的配置(XML-Config)文件。以及大量的可序列化对象。

为了使它在 .Net 中工作,同时仍然与 Mono 和 .Net 兼容,我有以下选项:

  1. 为每个可序列化对象显式添加“Order”属性。因此,.Net 将重复相同的编号
  2. 切换到 XmlSerializer。为此,我必须更改两者之间不同的属性。例如,XML 一包括所有属性,除非它被告知相反(忽略属性)

#1 和 #2 都需要做很多工作。有没有一种方法或序列化器实现,它将重用为 DataContractSerializer 完成的现有数据类?

4

0 回答 0