3

我想在 c# 中将对象保存/读取到磁盘。它的一些属性没有用 [Serializable] 标记。有没有其他方法可以保存?我不关心磁盘上对象的格式,我只想将它转储到磁盘并读取它。

有什么建议么?

4

2 回答 2

3

建议的 XmlSerializer 的替代方案是protobuf-net。它是由 SO/StackExchange 自己的 Marc Gravell 编写的 Google protobuf 的 .net 实现。请注意,您必须有权访问这些对象,因为 protobuf-net 仅支持以下自定义类:

  • 被标记为数据合同
  • 有一个无参数的构造函数
  • 对于 Silverlight:是公开的

如果这对您不起作用,您可以编写自己的解决方案,或者根据您的范围,使用像eloquera这样的对象数据库。

于 2012-05-29T16:29:00.287 回答
1

该类XmlSerializer不需要将对象标记为可序列化,但它只保存公共字段和属性。如果您需要序列化私有成员,除非您编写自己的序列化程序,否则您将不走运。

于 2012-05-29T15:44:17.447 回答