Est-ce correct d'utiliser le mot-clé new
à un moment donné pour remplacer le type de retour dans une méthode? Puis-je utiliser virtual new
ou new virtual
pour pouvoir remplacer le type de retour?Opérateurs nouveaux et virtuels en C#
Je dois aussi considérer les classes qui héritent de ce point. Peuvent-ils remplacer cette méthode où la base a été créée avec new
?
Je suis entièrement d'accord. Vous devriez avoir une raison très convaincante de le faire. Une relation d'héritage est une relation "IS A", donc si A hérite de B, alors A est un B. Cela signifie que A devrait aussi se comporter comme s'il s'agissait d'un B. – Pete
Je suis entièrement d'accord avec vous. La raison pour laquelle je le fais est parce que je travaille avec du code hérité :(. Il a été fait de cette façon et je peux le changer.Je n'aime pas non plus mais je l'ai aussi.La seule chose dont je suis sûr maintenant que tous les endroits où les nouvelles classes seront utilisées seront appelés au moins à partir du niveau où le "nouveau" a été déclaré – jmayor
Comme je l'ai dit, vous pouvez le faire - personnellement, je vous recommande de changer le nom de la méthode, juste pour éviter ce cas, cependant, cela rend la vie très confuse. –