6

使用 .NET 4/C#...

我需要反序列化包含名为 ns1.X 的类型的序列化表示的旧配置文件。序列化已使用BinaryFormatter.

问题是,经过一轮重构后,类型 X 已移至不同的命名空间,例如 ns2.X 。

我尝试创建一个从 ns2.X 派生的新的空 ns1.X 类型,虽然这避免了“无法找到类型 ns1.X ”错误,但反序列化对象中的属性都是null. 此外,在此过程中不会调用任何 ctor。

有什么建议么?

4

1 回答 1

1

您将需要使用ISerializationSurregate来实现这一点。这并不太难,Jeff Richter 解释得非常好。我推荐他的书 CLR Via c# 3。

于 2011-10-12T16:20:55.163 回答