我想知道是否有可能序列化主题中描述的类。
假设我们有一个共享为二进制DLL
文件的人的库。此外,此lib的创建者创建了一个不是Serializable
的类。如何序列化这样的类?我知道我可以创建一个包含所有可以序列化的特性的双胞胎。但是还有其他更简单的解决方案吗?如何序列化“不属于你”并仅存储为二进制的类?
答案 0 :(得分:2)
第三方课程是一个实施细节;坦率地说,在序列化中使用它是一个非常糟糕的主意,因为你完全被限制在一个角落里,并且永远不能改变实现。您还将面临版本问题的重大风险 - BinaryFormatter
根本无法妥善处理。
可能不是您想要听到的内容,但我提供了两条建议:
BinaryFormatter
的含义;坦率地说,我从不推荐它 - 它有......故障。至于解决方法:你可以调查序列化代理,但在BinaryFormatter
内做这件事并不简单,基本上只是第一个子弹的重新声明
如果是我(虽然我非常偏颇),我会改变序列化器; protobuf-net(披露:我作为作者)作为二进制序列化程序工作,如果第三方模型已经耦合到您的模型,则对代理人提供易于实现的支持。