using
Dyrektywa daje nam dostęp do typów bez użycia ich w pełni kwalifikowane nazwy:
using MyNamespace.Foo.Bar;
using
Oświadczenie działa jak cukier składniowej dla try
/ finally
bloków, które zapewniają, że obiekty są usuwane odpowiednio:
using(var x = new MyDisposableClass()) { ... }
Te dwie sytuacje wydają się nie mieć ze sobą nic wspólnego. Dlaczego używają tego samego słowa kluczowego?
Wątpię, czy ktokolwiek kiedykolwiek pomyliłby te dwa przypadki, ale wydaje się dziwne, że nie tworzy się nowego słowa dla nowej funkcji.
Nawiasem mówiąc, przeczytałem również o podwójnym użyciu class
w C ++ (jednym do deklarowania klas, drugim do definiowania parametrów szablonu), ale drugi przypadek w końcu otrzymał własne słowo kluczowe typename
, co ma dla mnie większy sens.