【发布时间】:2010-01-27 09:51:37
【问题描述】:
我正在寻找符合我要求的序列化程序, 序列化器可以在 .Net 框架、Open-Sorce 或付费产品中(只要它可以直接从代码中使用)。
现在,我的要求是:
强制
- 能够处理循环引用。
- 自动,在目标类中使用属性或继承,然后简单地写入文件。
- 正向过滤,这意味着在目标类中,字段被标记为 to 序列化的内容,而不是不序列化的内容(如 DataContractSerializer 中的 [DataMember] 而不是 XmlSerializer 中的 [XmlIgnore]) .
- 必须使用默认构造函数。
- 支持多态性(DataContractSerializer 中没有“KnownTypes”之类的东西)。
首选
- 尽可能轻松地生成文件。
- 尽可能快地进行序列化。
- 在非公共领域工作。
我检查了大多数 .Net 序列化程序并尝试在网上查找更多内容,但结果很短, 所有这些要么不支持循环引用、多态性,要么不使用任何构造函数。 所以现在我有点想不通了,我会很高兴停下来。
谢谢!
【问题讨论】:
-
.NET 二进制格式化程序按照 Darin 的回答处理其中的大部分。如果你测试过 BinaryFormatter,你发现它有什么样的缺点?
标签: c# .net serialization