Un collègue et moi examinions le comportement du new
mot clé en C # tel qu'il s'applique au concept de masquage. De la documentation :
Utilisez le nouveau modificateur pour masquer explicitement un membre hérité d'une classe de base. Pour masquer un membre hérité, déclarez-le dans la classe dérivée en utilisant le même nom et modifiez-le avec le nouveau modificateur.
Nous avons lu la documentation et nous comprenons ce qu'elle fait et comment elle le fait. Ce que nous ne pouvions pas vraiment comprendre, c'est pourquoi vous devriez le faire en premier lieu. Le modificateur existe depuis 2003, et nous travaillons tous les deux avec .Net depuis plus longtemps et il n'est jamais apparu.
Quand ce comportement serait-il nécessaire dans un sens pratique (par exemple: tel qu'il est appliqué à une analyse de rentabilisation)? Est-ce une fonctionnalité qui a survécu à son utilité ou est-ce qu'elle fait tout simplement assez rare dans ce que nous faisons (en particulier, nous faisons des formulaires Web et des applications MVC et certains WinForms et WPF à petit facteur)? En essayant ce mot-clé et en jouant avec lui, nous avons trouvé certains comportements qu'il permet qui semblent un peu dangereux s'ils sont mal utilisés.
Cela semble un peu ouvert, mais nous recherchons un cas d'utilisation spécifique qui peut être appliqué à une application métier qui trouve cet outil particulier utile.