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 に答える