Tag: 对象持久性

Lambdas,封闭变量,显示类,可序列化和普遍性层

我已经为Compact Framework实现了普遍性层(包括类似BinaryFormatter的序列化器)。 我希望能够在适当的情况下序列化由lambda和迭代器之类的东西产生的编译器生成的类,以便if(例如)一个lambda及其关闭的变量(即显示类实例)被添加到可序列化对象上的事件中,并且所有已关闭的变量都是可序列化的,然后生成的对象图仍然是完全可序列化的。 如果这些类的实例只能通过它们被序列化的二进制文件的完全相同的构建来反序列化是可接受的 – 流行度层主要是为了在应用程序意外终止时提供持久性(电源故障和设备重启是不同的可能性) ,并且序列化的数据流不应该是向前或向后兼容的,或者甚至是相同的源代码的两个编译兼容 – 当我们下次与它进行对话时,所有后果将被发送到服务器,我们不会在断开连接时更新。 在这个有限的上下文中,格式化程序将这些编译器生成的类视为可序列化是否合理? 我看到的唯一选择是手工实现其他所有可编译器支持的模式,其中可串行化是一个问题,其后果从过于冗长到几乎不可读。