4

ISerializable 接口只提供了一种序列化对象的方法。反序列化过程由构造函数管理。

问题是,构造函数不能返回实例,因为构造函数创建了一个新实例。

在我的实现中,有几个属性对应于在其他地方实例化和维护的单例。

我需要反序列化过程来获取该实例并分配给属性,而不是创建一个新实例。

构造函数方法不适合这种情况。

在 Java 中,您将调用 ReadResolve() 方法,是否有 C# 等效项?

4

1 回答 1

3

您需要使保存对单例的引用的类实现 IObjectReference。

看看http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iobjectreference.aspx

于 2012-04-11T19:38:42.723 回答