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