我想在c#中将对象保存/读取到磁盘。其中一些属性未标记为[Serializable]。 有没有其他方法可以保存它? 我不关心磁盘上对象的格式,我只想把它转储到磁盘上并读取它。
有什么建议吗?
答案 0 :(得分:3)
建议的XmlSerializer的替代方案是protobuf-net。这是由SO / StackExchange自己的Marc Gravell编写的Google protobuf的.net实现。 请注意,您必须能够访问对象,因为protobuf-net仅支持以下自定义类:
如果这对您不起作用,您可以编写自己的解决方案,或者根据您的范围使用像eloquera这样的对象数据库。
答案 1 :(得分:1)
XmlSerializer
类不要求将对象标记为可序列化,但它只保存公共字段和属性。如果您需要序列化私有成员,除非您编写自己的序列化程序,否则运气不佳。