Les utilisateurs de Kokos ont répondu aux merveilleuses caractéristiques cachées de C # en mentionnant le mot-clé using . Pourriez-vous préciser ceci? Quels sont les bons usages de l' utilisation ?
Réponses
Trop de publicités?La raison de l’instruction « using » consiste à s’assurer que l’objet est toujours disposé correctement, et il ne requiert pas de code explicite pour s’assurer que cela se passe.
Selon http://www.codeproject.com/KB/cs/tinguusingstatement.aspx, le Common Language Runtime .NET convertit
À
à l'aide, dans le sens de
using (var foo = new Bar())
{
Baz();
}
Est en fait un raccourci pour un try/finally bloc. Il est équivalent au code:
var foo = new Bar();
try
{
Baz();
}
finally
{
foo.Dispose();
}
Vous noterez, bien sûr, que le premier extrait est beaucoup plus concis que la seconde et aussi qu'il existe de nombreuses sortes de choses que vous pouvez faire que le nettoyage, même si une exception est levée. De ce fait, nous avons trouvé une classe que nous appelons le Champ d'application qui permet d'exécuter du code arbitraire dans la méthode dispose. Ainsi, par exemple, si vous avez une propriété appelée IsWorking que vous avez toujours voulu défini à false, après avoir essayé d'effectuer une opération, vous auriez du faire comme ceci:
using (new Scope(() => IsWorking = false))
{
IsWorking = true;
MundaneYetDangerousWork();
}
Vous pouvez en savoir plus sur notre solution et comment nous avons dérivé d'elle ici.