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 pour libérer toutes les ressources. Vous n’avez pas à appeler la Close méthode spécifiquement. Au lieu de cela, assurez-vous que chaque Stream objet est correctement supprimé. vous pouvez déclarer des Stream objets dans un using bloc (ou un Using bloc dans 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 vide pas son encodeur sous-jacent, sauf si vous appelez explicitement une implémentation de Flush ou Close . La définition de la valeur AutoFlush 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 coder correctement le bloc de caractères suivant. Ce scénario affecte UTF8 et UTF7, où certains caractères peuvent être encodés uniquement après que l’encodeur a reçu le ou les caractères adjacents.

Toute tentative de manipulation du flux une fois que le flux a été fermé peut lever une ObjectDisposedException .

Notes pour les héritiers

Dans les classes dérivées, ne substituez pas la Close() méthode, mais Placez l’ensemble de 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