Stream.Dispose Méthode

Définition

Libère toutes les ressources utilisées par l’objet Stream .

Surcharges

Nom Description
Dispose()

Libère toutes les ressources utilisées par le Stream.

Dispose(Boolean)

Libère les ressources non managées utilisées par les Stream ressources gérées et libère éventuellement les ressources managées.

Dispose()

Libère toutes les ressources utilisées par le Stream.

public:
 virtual void Dispose();
public void Dispose();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

Implémente

Remarques

Cette méthode supprime le flux en écrivant les modifications apportées au magasin de stockage et en fermant le flux pour libérer des ressources.

L’appel Dispose permet aux ressources utilisées par la Stream réaffectation à d’autres fins. Pour plus d’informations sur Dispose, consultez Nettoyage des ressources non managées.

Notes pour les héritiers

Placez toute la logique de nettoyage de votre objet de flux dans Dispose(Boolean). Ne remplacez Close()pas .

Notez que, en raison des exigences de compatibilité descendante, l’implémentation de cette méthode diffère des instructions recommandées pour le modèle Dispose. Cette méthode appelle Close()ensuite Dispose(Boolean).

S’applique à

Dispose(Boolean)

Libère les ressources non managées utilisées par les Stream ressources gérées et libère éventuellement les ressources managées.

protected:
 virtual void Dispose(bool disposing);
protected virtual void Dispose(bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)

Paramètres

disposing
Boolean

true pour libérer les ressources managées et non managées ; false pour libérer uniquement les ressources non managées.

Remarques

Vous devez libérer toutes les ressources en spécifiant true pour disposing. Quand disposing c’est truele cas, le flux peut également s’assurer que les données sont vidées dans la mémoire tampon sous-jacente et accéder à d’autres objets finalisables. Cela peut ne pas être possible lorsqu’il est appelé à partir d’un finaliseur en raison d’un manque de classement parmi les finaliseurs.

Si votre flux utilise un handle de système d’exploitation pour communiquer avec sa source, envisagez d’utiliser une sous-classe à SafeHandle cet effet.

Cette méthode est appelée par la méthode publique Dispose() et la Finalize() méthode, si elle a été remplacée. Dispose() appelle la méthode protégée Dispose avec le disposing paramètre défini sur true. Finalize appelle avec Disposedisposing la valeur false.

Notes pour les héritiers

Dans les classes dérivées, ne remplacez pas la Close() méthode, à la place, placez toute la logique de nettoyage Stream dans la Dispose(Boolean) méthode.

Dispose() peut être appelé plusieurs fois par d’autres objets. En cas de Dispose(Boolean)substitution, veillez à ne pas référencer les objets précédemment supprimés dans un appel antérieur à Dispose(). Pour plus d’informations sur l’implémentation Dispose(Boolean), consultez Implémentation d’une méthode Dispose.

Pour plus d’informations sur Dispose() et Finalize(), consultez Nettoyage des ressources non managées.

S’applique à