Stream.Close Méthode

Définition

Ferme le flux actuel et libère toutes les ressources (comme les sockets et les handles de fichiers) associées à celui-ci. Au lieu d'appeler cette méthode, assurez-vous que le flux est correctement supprimé.

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

Remarques

Cette méthode appelle Dispose, en spécifiant true de libérer toutes les ressources. Vous n’avez pas besoin d’appeler spécifiquement la Close méthode. Assurez-vous plutôt que chaque Stream objet est correctement éliminé. Vous pouvez déclarer Stream des objets dans un using bloc (ou Using un bloc en Visual Basic) pour vous assurer que le flux et toutes ses ressources sont supprimés, ou vous pouvez appeler explicitement la Dispose méthode.

Le vidage du flux ne videra pas son encodeur sous-jacent, sauf si vous appelez explicitement une implémentation de Flush ou Close. La définition AutoFlush de sur true signifie que les données seront vidées de la mémoire tampon vers le flux, mais que l’état de l’encodeur ne sera pas vidé. Cela permet à l’encodeur de conserver son état (caractères partiels) afin qu’il puisse encoder correctement le bloc de caractères suivant. Ce scénario affecte UTF8 et UTF7 où certains caractères ne peuvent être encodés qu’une fois que l’encodeur a reçu le ou les caractères adjacents.

Les tentatives de manipulation du flux après la fermeture du flux peuvent déclencher un ObjectDisposedException.

Notes pour les héritiers

Dans les classes dérivées, ne remplacez pas la Close() méthode. Placez plutôt toute la Stream logique de nettoyage dans la Dispose(Boolean) méthode. Pour plus d’informations, consultez Implémentation d’une méthode Dispose.

S’applique à

Voir aussi