« Using » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 3 : Ligne 3 :
L'objet fourni à l'instruction {{boxx|using}} doit donc implémenter l'interface {{boxx|IDisposable}}.<br/>
L'objet fourni à l'instruction {{boxx|using}} doit donc implémenter l'interface {{boxx|IDisposable}}.<br/>
La levée d'un exception dans le bloc {{boxx|using}} provoque la sortie du bloc et donc l'appel de la méthode {{boxx|Dispose}}.<br>
La levée d'un exception dans le bloc {{boxx|using}} provoque la sortie du bloc et donc l'appel de la méthode {{boxx|Dispose}}.<br>
C'est l'équivalent d'un bloc {{boxx|1=try finally { Dispose }}}.
C'est l'équivalent d'un bloc {{boxx|try finally { Dispose } }}.


<kode lang="csharp">
<kode lang="csharp">

Version du 19 janvier 2021 à 17:24

Définit la portée d'un objet.
A la sortie du using, la méthode Dispose sera appelée sur cet objet.
L'objet fourni à l'instruction using doit donc implémenter l'interface IDisposable.
La levée d'un exception dans le bloc using provoque la sortie du bloc et donc l'appel de la méthode Dispose.
C'est l'équivalent d'un bloc try finally { Dispose } .

Csharp.svg
using(SqlConnection sqlConnection = new SqlConnection(connectionString))
{
    // appel de sqlConnection.Dispose() à la fin du bloc using
    // ou si une exception est levée
}

The using statement