Die using
Richtlinie ermöglicht uns den Zugriff auf Typen ohne Verwendung ihrer vollqualifizierten Namen:
using MyNamespace.Foo.Bar;
Die using
Anweisung fungiert als syntaktischer Zucker für try
/ finally
Blöcke, die sicherstellen, dass Objekte ordnungsgemäß entsorgt werden:
using(var x = new MyDisposableClass()) { ... }
Diese beiden Situationen scheinen nichts miteinander zu tun zu haben. Warum verwenden sie dasselbe Schlüsselwort?
Ich bezweifle, dass irgendjemand jemals die beiden Fälle verwechseln würde, aber es scheint seltsam, kein neues Wort für eine neue Funktionalität zu erstellen.
Nebenbei habe ich auch über die doppelte Verwendung von class
in C ++ gelesen (eine zum Deklarieren von Klassen, eine zum Definieren von Vorlagenparametern), aber der zweite Fall hat schließlich ein eigenes Schlüsselwort erhalten typename
, was für mich sinnvoller ist.