ObjectInputStream.ReadUnshared Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Lit un objet « non partagé » à partir de ObjectInputStream.
[Android.Runtime.Register("readUnshared", "()Ljava/lang/Object;", "GetReadUnsharedHandler")]
public virtual Java.Lang.Object? ReadUnshared();
[<Android.Runtime.Register("readUnshared", "()Ljava/lang/Object;", "GetReadUnsharedHandler")>]
abstract member ReadUnshared : unit -> Java.Lang.Object
override this.ReadUnshared : unit -> Java.Lang.Object
Retours
référence à l’objet désérialisé
- Attributs
Exceptions
si la classe d’un des objets dans le graphique d’objets est introuvable.
si une erreur se produit lors de la lecture à partir du flux source.
Remarques
Lit un objet « non partagé » à partir de ObjectInputStream. Cette méthode est identique à readObject, sauf qu’elle empêche les appels suivants à readObject et readUnshared de retourner des références supplémentaires à l’instance désérialisée obtenue via cet appel. Plus précisément : <ul><li>If readUnshared est appelé pour désérialiser une référence back-reference (la représentation de flux d’un objet qui a été écrit précédemment dans le flux), une ObjectStreamException sera levée.
<li>Si readUnshared retourne correctement, toutes les tentatives suivantes de désérialiser les références back-references au handle de flux désérialisé par readUnshared entraînent la levée d’un ObjectStreamException. </ul> Désérialisation d’un objet via readUnshared invalide le handle de flux associé à l’objet retourné. Notez que cela ne garantit pas toujours que la référence retournée par readUnshared est unique ; l’objet désérialisé peut définir une méthode readResolve qui retourne un objet visible par d’autres parties, ou readUnshared peut retourner un objet Class ou une constante enum pouvant être obtenue ailleurs dans le flux ou par le biais de moyens externes. Si l’objet désérialisé définit une méthode readResolve et que l’appel de cette méthode retourne un tableau, readUnshared retourne un clone peu profond de ce tableau ; cela garantit que l’objet tableau retourné est unique et ne peut pas être obtenu une seconde fois à partir d’un appel de readObject ou readUnshared sur ObjectInputStream, même si le flux de données sous-jacent a été manipulé.
Les sous-classes ObjectInputStream qui remplacent cette méthode ne peuvent être construites que dans des contextes de sécurité qui possèdent le serializablePermission « enableSubclassImplementation » ; toute tentative d’instanciation d’une telle sous-classe sans cette autorisation entraîne la levée d’une exception SecurityException.
Ajouté dans la version 1.4.
Java documentation pour java.io.ObjectInputStream.readUnshared().
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.