Stream.Dispose Méthode

Définition

Libère toutes les ressources utilisées par l’objet Stream.Releases all resources used by the Stream object.

Surcharges

Dispose()

Libère toutes les ressources utilisées par Stream.Releases all resources used by the Stream.

Dispose(Boolean)

Libère les ressources non managées utilisées par Stream et libère éventuellement les ressources managées.Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

Dispose()

Libère toutes les ressources utilisées par Stream.Releases all resources used by the 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 toutes les modifications apportées au magasin de stockage et en fermant le flux pour libérer des ressources.This method disposes the stream, by writing any changes to the backing store and closing the stream to release resources.

L’appel de Dispose permet de réallouer les ressources utilisées par le Stream à d’autres fins.Calling Dispose allows the resources used by the Stream to be reallocated for other purposes. Pour plus d’informations sur les Dispose, consultez nettoyage des ressources non managées.For more information about Dispose, see Cleaning Up Unmanaged Resources.

Notes pour les héritiers

Placez toute la logique de nettoyage de votre objet de flux dans Dispose(Boolean).Place all cleanup logic for your stream object in Dispose(Boolean). Ne substituez pas Close().Do not override Close().

Notez qu’en raison des exigences de compatibilité descendante, l’implémentation de cette méthode diffère de celle recommandée pour le modèle de suppression.Note that because of backward compatibility requirements, this method's implementation differs from the recommended guidance for the Dispose pattern. Cette méthode appelle Close(), qui appelle ensuite Dispose(Boolean).This method calls Close(), which then calls Dispose(Boolean).

Dispose(Boolean)

Libère les ressources non managées utilisées par Stream et libère éventuellement les ressources managées.Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

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

La valeur est true pour libérer les ressources managées et non managées, false pour ne libérer que les ressources non managées.true to release both managed and unmanaged resources; false to release only unmanaged resources.

Remarques

Vous devez libérer toutes les ressources en spécifiant true pour disposing.You should release all resources by specifying true for disposing. Lorsque disposing est true, 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.When disposing is true, the stream can also ensure data is flushed to the underlying buffer, and access other finalizable objects. Cela peut ne pas être possible quand elle est appelée à partir d’un finaliseur en raison d’un manque de classement parmi les finaliseurs.This may not be possible when called from a finalizer due a lack of ordering among finalizers.

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.If your stream is using an operating system handle to communicate with its source, consider using a subclass of SafeHandle for this purpose.

Cette méthode est appelée par la méthode Dispose publique et la méthode Finalize.This method is called by the public Dispose method and the Finalize method. Dispose appelle la méthode Dispose protégée avec le paramètre disposing défini sur true.Dispose invokes the protected Dispose method with the disposing parameter set to true. Finalize appelle Dispose avec disposing défini sur false.Finalize invokes Dispose with disposing set to false.

Notes pour les héritiers

Dans les classes dérivées, ne substituez pas la méthode Close(), mais Placez toute la logique de nettoyage de flux dans la méthode Dispose(Boolean).In derived classes, do not override the Close() method, instead, put all of the Stream cleanup logic in the Dispose(Boolean) method.

Dispose() peut être appelée plusieurs fois par d'autres objets.Dispose() can be called multiple times by other objects. 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().When overriding Dispose(Boolean), be careful not to reference objects that have been previously disposed of in an earlier call to Dispose(). Pour plus d’informations sur l’implémentation de Dispose(Boolean), consultez implémentation d’une méthode dispose.For more information about how to implement Dispose(Boolean), see Implementing a Dispose Method.

Pour plus d’informations sur les Dispose() et les Finalize(), consultez nettoyage des ressources non managées.For more information about Dispose() and Finalize(), see Cleaning Up Unmanaged Resources.

S’applique à