ISerializable接口仅提供序列化对象的方法。反序列化 进程由构造函数管理。
问题是,构造函数无法返回实例,因为构造函数创建了一个新实例。
在我的实现中,有几个属性对应于在其他地方实例化和维护的单例。
我需要反序列化过程来获取该实例并分配给属性,而不是创建新实例。
构造函数方法不适用于此。
在Java中,你会调用ReadResolve()方法,是否有C#等价物?
答案 0 :(得分:3)
您需要创建保存对单例实现IObjectReference的引用的类。
查看http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iobjectreference.aspx