usingДиректива дает нам доступ к типам , не используя их полностью квалифицированные имена:
using MyNamespace.Foo.Bar;
usingЗаявление действует как синтаксический сахар для try/ finallyблоков , которые обеспечивают объекты утилизируются должным образом:
using(var x = new MyDisposableClass()) { ... }
Эти две ситуации, похоже, не имеют ничего общего друг с другом. Почему они используют одно и то же ключевое слово?
Я сомневаюсь, что кто-нибудь когда-нибудь перепутает два случая, но кажется странным не создавать новое слово для новой функциональности.
Кроме того, я читал и о двойном использовании classв C ++ (одно для объявления классов, typenameдругое для определения параметров шаблона), но во втором случае в конечном итоге появилось собственное ключевое слово , что для меня более логично.