La direttiva using ci dà accesso ai tipi senza utilizzare i loro nomi completi :
using MyNamespace.Foo.Bar;
L' istruzione using funge da zucchero sintattico per try / finally blocchi che assicurano che gli oggetti siano smaltiti correttamente:
using(var x = new MyDisposableClass()) { ... }
Queste due situazioni sembrano non avere nulla a che fare l'una con l'altra. Perché usano la stessa parola chiave?
Dubito che qualcuno possa mai confondere i due casi, ma sembra strano non creare una nuova parola per una nuova funzionalità.
Per inciso, ho letto anche il doppio uso di class in C ++ (uno per la dichiarazione delle classi, uno per la definizione dei parametri del modello), ma il secondo caso ha ottenuto la propria parola chiave, typename , che ha più senso per me.