将c#对象保存到磁盘

时间:2012-05-29 15:40:58

标签: c# .net serialization

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

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

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