Un collega e io stavamo osservando il comportamento della parola chiave new
in C # in quanto si applica al concetto di nascondimento. Da documentazione :
Use the new modifier to explicitly hide a member inherited from a base class. To hide an inherited member, declare it in the derived class using the same name, and modify it with the new modifier.
Abbiamo letto la documentazione e abbiamo capito cosa fa e come funziona. Ciò su cui non siamo riusciti a capire è perché dovresti farlo in primo luogo. Il modificatore è presente dal 2003 e abbiamo lavorato con .Net più a lungo e non è mai stato pubblicato.
Quando sarebbe necessario questo comportamento in senso pratico (ad es. applicato a un caso aziendale)? Si tratta di una funzionalità che è sopravvissuta alla sua utilità o che è abbastanza rara in ciò che facciamo (in particolare facciamo moduli Web e applicazioni MVC e alcuni piccoli fattori WinForm e WPF)? Nel provare questa parola chiave e nel giocarci, abbiamo trovato alcuni comportamenti che consentono di sembrare un po 'pericolosi se usati in modo improprio.
Sembra un po 'aperto, ma stiamo cercando un caso d'uso specifico che possa essere applicato a un'applicazione aziendale che trovi utile questo particolare strumento.