ObjectInputStream.ResolveObject(Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此方法允許 ObjectInputStream 的受信任子類別在反序列化過程中替換一個物件。
[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 的受信任子類別在反序列化過程中替換一個物件。 在呼叫 enableResolveObject 之前,替換物件會被禁用。 enableResolveObject 方法檢查請求解析物件的串流是否可信。 每個對可序列化物件的引用都會傳給 resolveObject。 為確保物件的私有狀態不會被無意中暴露,只有受信任的串流才可以使用 resolveObject。
此方法在物件被讀取後、但尚未從 readObject 回傳之前被呼叫。 預設的 resolveObject 方法只是回傳相同的物件。
當子類別替換物件時,必須確保替換物件與所有將存放該參考的欄位相容。 型別不是欄位或陣列元素子類別的物件,會透過產生例外來中止序列化,且該物件不會被儲存。
此方法僅在每個物件首次遇到時呼叫一次。 所有後續對該物件的引用都會被重新導向到新的物件。
Java 文件 java.io.ObjectInputStream.resolveObject(java.lang.Object)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。