我有一些类型,我真的需要序列化这些类型的实例,但它们没有标记为可序列化,我无法修改它们。所以我正在寻找一种深度转储内存保存。我已经尝试过 BinaryFormatter 等,但它们也需要可序列化的属性......
有任何想法吗 ?对于我的特殊情况,还没有找到很多东西...... :'(
最合乎逻辑的方法是创建一个可序列化的新对象,其中包含不可序列化对象的所有属性。然后添加函数以从不可序列化的对象构造对象的实例,反之亦然。
[Serializable] 对于序列化不是必须的,对于二进制序列化,这不是必需的。
考虑使用protobuf-net:.NET 的快速、可移植、二进制序列化
代码示例:
// write to a file
Serializer.Serialize(outputStream, person);
...
// read from a file
var person = Serializer.Deserialize<Person>(inputStream);