Un compañero de trabajo y yo estábamos analizando el comportamiento de la new
palabra clave en C # en lo que respecta al concepto de ocultación. De la documentación :
Use el nuevo modificador para ocultar explícitamente un miembro heredado de una clase base. Para ocultar un miembro heredado, declare en la clase derivada con el mismo nombre y modifíquelo con el nuevo modificador.
Hemos leído la documentación y entendemos qué hace básicamente y cómo lo hace. Lo que realmente no pudimos entender es por qué tendría que hacerlo en primer lugar. El modificador ha estado allí desde 2003, y ambos hemos estado trabajando con .Net durante más tiempo que eso y nunca ha aparecido.
¿Cuándo sería necesario este comportamiento en un sentido práctico (p. Ej .: aplicado a un caso de negocios)? ¿Es esta una característica que ha dejado de ser útil o es lo que hace que es bastante poco común en lo que hacemos (específicamente hacemos formularios web y aplicaciones MVC y algunos WinForms y WPF de pequeño factor)? Al probar esta palabra clave y jugar con ella, encontramos algunos comportamientos que permite que parezcan un poco peligrosos si se usan incorrectamente.
Esto suena un poco abierto, pero estamos buscando un caso de uso específico que pueda aplicarse a una aplicación comercial que considere útil esta herramienta en particular.