DataContractSerializer 似乎在 .NET Compact Framework 中不可用。我发现这非常令人惊讶,因为我认为 DataContractSerializer 是序列化的 chalice ,并且是 .NET 3 中引入的最广泛使用的类之一。
有没有办法在 Compact Framework 下获得相同的功能,即使用文本格式轻松保存和恢复真实世界对象图的能力?
我宁愿远离较旧的、有限的 .NET 序列化程序,例如 XmlSerializer 和 BinarySerializer。
我在想也许有可用的 DataContractSerializer 自定义实现,或者可以使用 Mono 中的代码?有没有人试过这样做?
最佳答案
它在 CF 3.5 中不可用吗?(编辑:不,我检查过 - 确实不可用)。我知道 XmlSerialzier 在那里,但是是的,它确实有一些限制。
是否需要基于文本?选项是 protobuf-net , 适用于 CF2.0、CF3.5、Silverlight、Mono、.NET 2.0 等;并包括您通常需要的所有东西(包括回调等)。
顺便说一句,我上次看时,Mono 代码(来自“Olive”)不是很完整...
(编辑)另一个选项可能是 Json.NET ;来自 here ,这现在适用于 CF;因为这是 JSON,它是基于文本的,应该可以满足您的大部分需求。
关于.net - .NET Compact Framework 中缺少 DataContractSerializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/621913/