Utilisation de l'instruction using
L'instruction using permet de travailler sur un type de données (une classe) implémentant l'interface IDisposable.
Si ce n'est pas le cas, une erreur de compilation sera produite. Par contre, si le type est bien compatible avec IDisposable,
alors l'instruction using garantira que la méthode Dispose (définie dans l'interface) sera automatiquement invoquée
en fin de bloc. Même en cas de déclenchement d'exception ou d'utilisation du mot clé return, l'appel est garanti.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using System; namespace TestIDisposable { class Demo : IDisposable { public Demo() { Console.WriteLine("Resource created"); } public void Dispose() { Console.WriteLine("Resource released"); } public void DoSomething() { Console.WriteLine("Do Something"); } } class Program { static void Main(string[] args) { using (Demo d = new Demo()) { d.DoSomething(); // Essayez ces lignes : la méthode Dispose sera malgré tout invoquée //throw new Exception("ouille"); //return; } } } } |
Et voici les résultats produits par ce programme.
Resource created Do Something Resource released
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :