Partager via


Stream.Dispose Méthode

Définition

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

Surcharges

Dispose()

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

Dispose(Boolean)

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

Dispose()

Source:
Stream.cs
Source:
Stream.cs
Source:
Stream.cs

Libère toutes les ressources utilisées par 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 les ressources.

L’appel Dispose permet de réallouer les ressources utilisées par le Stream à 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 qu’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(), qui appelle Dispose(Boolean)ensuite .

S’applique à

Dispose(Boolean)

Source:
Stream.cs
Source:
Stream.cs
Source:
Stream.cs

Libère les ressources non managées utilisées par Stream 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. Lorsque disposing a truela valeur , 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 lorsque vous appelez à partir d’un finaliseur en raison d’un manque de classement entre les finaliseurs.

Si votre flux utilise un handle de système d’exploitation pour communiquer avec sa source, envisagez d’utiliser une sous-classe de 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. FinalizeDispose appelle avec disposing défini sur false.

Notes pour les héritiers

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

Dispose() peut être appelée plusieurs fois par d'autres objets. Lors de la substitution de Dispose(Boolean), veillez à ne pas référencer des objets qui ont été préalablement supprimés lors d'un appel précédent à Dispose(). Pour plus d’informations sur l’implémentation Dispose(Boolean)de , 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 à