La using
directive nous donne accès aux types sans utiliser leurs noms complets:
using MyNamespace.Foo.Bar;
L' using
instruction agit comme un sucre syntaxique pour les try
/ finally
blocs qui garantissent que les objets sont éliminés correctement:
using(var x = new MyDisposableClass()) { ... }
Ces deux situations semblent n'avoir rien à voir l'une avec l'autre. Pourquoi utilisent-ils le même mot-clé?
Je doute que quelqu'un puisse jamais confondre les deux cas, mais il semble étrange de ne pas créer un nouveau mot pour une nouvelle fonctionnalité.
En passant, j'ai également lu sur la double utilisation de class
C ++ (une pour déclarer les classes, une pour définir les paramètres du modèle), mais le deuxième cas a finalement obtenu son propre mot-clé typename
, ce qui est plus logique pour moi.