AsyncLazy<T>.DisposeValue 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.
Supprime la valeur initialisée paresseuse si jetable et provoque l’échec de toutes les tentatives suivantes d’obtention de la valeur.
public void DisposeValue ();
member this.DisposeValue : unit -> unit
Public Sub DisposeValue ()
Remarques
Cet appel sera bloqué lors de l’élimination (ce qui peut inclure la construction de la valeur elle-même s’il a déjà commencé mais pas encore terminé) s’il s’agit du premier appel à supprimer la valeur.
L’appel de cette méthode place cet objet dans un état supprimé où les appels futurs pour obtenir la valeur lèveront ObjectDisposedException.
Si la valeur a déjà été produite et implémente IDisposable ou IAsyncDisposable, elle sera supprimée. Si la fabrique de valeurs a déjà démarré mais n’est pas encore terminée, sa valeur sera supprimée une fois la fabrique de valeurs terminée.
Si les appels antérieurs pour obtenir la valeur sont en cours d’exécution lorsque cette méthode est appelée, ces appels peuvent se terminer et leurs appelants peuvent obtenir la valeur, bien que cela ait Dispose() été ou sera bientôt appelé sur la valeur, ce qui conduit ces utilisateurs à expérimenter un ObjectDisposedException.
Notez toutes les conditions basées sur la valeur implémentant IDisposable ou IAsyncDisposable est basé sur la valeur réelle, plutôt que sur l’argument de T
type. Cela signifie que bien que peut T
être IFoo
(qui n’implémente IDisposablepas ), le type concret qui implémente IFoo
peut implémenter IDisposable et donc être traité comme un objet jetable comme décrit ci-dessus.