Seorang rekan kerja dan saya melihat perilaku new
kata kunci dalam C # yang berlaku untuk konsep persembunyian. Dari dokumentasi :
Gunakan pengubah baru untuk secara eksplisit menyembunyikan anggota yang diwarisi dari kelas dasar. Untuk menyembunyikan anggota yang diwarisi, mendeklarasikannya di kelas turunan menggunakan nama yang sama, dan memodifikasinya dengan pengubah baru.
Kami telah membaca dokumentasinya, dan kami mengerti apa yang dasarnya dan bagaimana melakukannya. Apa yang tidak bisa kami tangani adalah mengapa Anda harus melakukannya sejak awal. Pengubah sudah ada sejak 2003, dan kami berdua telah bekerja dengan .Net lebih lama dari itu dan tidak pernah muncul.
Kapan perilaku ini diperlukan dalam arti praktis (misalnya: sebagaimana diterapkan pada kasus bisnis)? Apakah ini fitur yang telah melampaui kegunaannya atau apakah fungsinya cukup tidak biasa dalam apa yang kita lakukan (khususnya kita melakukan formulir web dan aplikasi MVC dan beberapa faktor kecil WinForms dan WPF)? Dalam mencoba kata kunci ini dan bermain dengannya kami menemukan beberapa perilaku yang memungkinkannya tampak sedikit berbahaya jika disalahgunakan.
Ini terdengar agak terbuka, tetapi kami sedang mencari kasus penggunaan tertentu yang dapat diterapkan ke aplikasi bisnis yang menganggap alat khusus ini bermanfaat.