Langage C# – Délimiter l’utilisation d’objets avec l’instruction « using »

Dans le langage C#, l’instruction using permet d’importer des espaces de noms d’assemblys référencés. Cette instruction a aussi une autre utilisation très utile. Elle permet de délimiter précisément l’utilisation d’un objet dans un bloc de code. Voici un exemple permettant d’enregistrer un message dans un fichier :

[cc lang= »csharp »]
public void EcrireMessage(string aMessage)
{
using (StreamWriter streamWriter = new StreamWriter(@ »logs.txt », true))
{
streamWriter.WriteLine($ »{DateTime.Now.ToString()} – {aMessage} »);
}
}
[/cc]

L’objet nommé streamWriter est uniquement utilisable entre les accolades de l’instruction using. Lorsque l’accolade de fermeture du bloc using est rencontrée, la méthode Dispose() de l’objet streamWriter est automatiquement exécutée (les ressources associées à cet objets sont libérées, notamment le fichier logs.txt). Pour ce faire, il est obligatoire que la classe utilisée pour déclarer l’objet au sein de l’instruction using implémente l’interface IDisposable du Framework .NET (ce qui est le cas de la classe System.IO.StreamWriter).

Étiquettes : ,

About: James RAVAILLE

Travaillant avec la plateforme Microsoft .NET depuis 2002, j'alterne les missions de formation et d'ingénierie avec cette plateforme. J'écris ce blog pour transmettre mes connaissances à tout développeur, qu'il soit débutant ou expérimenté.