Stream.Dispose 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.
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 true
la 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
. Finalize
Dispose 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.