La using
directiva nos da acceso a los tipos sin usar sus nombres completos:
using MyNamespace.Foo.Bar;
La using
declaración actúa como azúcar sintáctica para try
/ finally
bloques que aseguran que los objetos se eliminen adecuadamente:
using(var x = new MyDisposableClass()) { ... }
Estas dos situaciones parecen no tener nada que ver entre sí. ¿Por qué usan la misma palabra clave?
Dudo que alguien pueda confundir los dos casos, pero parece extraño no crear una nueva palabra para una nueva funcionalidad.
Como comentario aparte, también he leído sobre el doble uso de class
en C ++ (uno para declarar clases, otro para definir parámetros de plantilla), pero el segundo caso finalmente obtuvo su propia palabra clave typename
, lo que tiene más sentido para mí.