The using
direktif memberi kita akses ke jenis tanpa menggunakan nama lengkap memenuhi syarat mereka:
using MyNamespace.Foo.Bar;
The using
pernyataan bertindak sebagai gula sintaksis untuk try
/ finally
blok yang memastikan bahwa objek yang dibuang dengan benar:
using(var x = new MyDisposableClass()) { ... }
Kedua situasi ini tampaknya tidak ada hubungannya satu sama lain. Mengapa mereka menggunakan kata kunci yang sama?
Saya ragu ada orang yang akan membuat dua kasus bingung, tetapi tampaknya aneh untuk tidak membuat kata baru untuk bagian fungsionalitas baru.
Sebagai tambahan, saya sudah membaca tentang penggunaan ganda class
dalam C ++ juga (satu untuk mendeklarasikan kelas, satu untuk mendefinisikan parameter templat), tetapi kasus kedua akhirnya mendapatkan kata kunci sendiri typename
, yang lebih masuk akal bagi saya.