ObjectInputStream.ResolveObject(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このメソッドを使用すると、ObjectInputStream の信頼できるサブクラスは、逆シリアル化中に 1 つのオブジェクトを別のオブジェクトに置き換えることができるようになります。
[Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")]
protected virtual Java.Lang.Object? ResolveObject (Java.Lang.Object? obj);
[<Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")>]
abstract member ResolveObject : Java.Lang.Object -> Java.Lang.Object
override this.ResolveObject : Java.Lang.Object -> Java.Lang.Object
パラメーター
- obj
- Object
置き換えられるオブジェクト
戻り値
置き換えたオブジェクト
- 属性
例外
置換オブジェクトの作成時に I/O エラーが発生した場合は 。
注釈
このメソッドを使用すると、ObjectInputStream の信頼できるサブクラスは、逆シリアル化中に 1 つのオブジェクトを別のオブジェクトに置き換えることができるようになります。 enableResolveObject が呼び出されるまで、オブジェクトの置換は無効になります。 enableResolveObject メソッドは、オブジェクトの解決を要求するストリームが信頼できることを確認します。 シリアル化可能なオブジェクトへのすべての参照は resolveObject に渡されます。 オブジェクトのプライベート状態が意図せずに公開されないようにするには、信頼されたストリームのみが resolveObject を使用できます。
このメソッドは、オブジェクトが読み取られた後、readObject から返される前に呼び出されます。 既定の resolveObject メソッドは、同じオブジェクトを返すだけです。
サブクラスがオブジェクトを置き換える場合は、置換されたオブジェクトが参照が格納されるすべてのフィールドと互換性があることを保証する必要があります。 型がフィールドまたは配列要素の型のサブクラスではないオブジェクトは、例外を発生させてシリアル化を中止し、オブジェクトは格納されません。
このメソッドは、各オブジェクトが最初に検出されたときに 1 回だけ呼び出されます。 オブジェクトへの後続の参照はすべて、新しいオブジェクトにリダイレクトされます。
の Java ドキュメント java.io.ObjectInputStream.resolveObject(java.lang.Object)
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。