En C#, ¿es posible marcar un método virtual anulado como final para que los implementadores no puedan anularlo? ¿Cómo lo haría?es posible marcar el método reemplazado como final
Un ejemplo puede hacer que sea más fácil de entender:
class A
{
abstract void DoAction();
}
class B : A
{
override void DoAction()
{
// Implements action in a way that it doesn't make
// sense for children to override, e.g. by setting private state
// later operations depend on
}
}
class C: B
{
// This would be a bug
override void DoAction() { }
}
¿Hay una manera de modificar B con el fin de evitar que otros niños C anule DoAction, ya sea en tiempo de compilación o de tiempo de ejecución?
puede hacer que los métodos individuales sellados, de hecho, – annakata
¿por qué marcar la clase como sellado? También puedes especificar este modificador en el nivel del método ... –
Interesante Nunca he sabido que pudieras sellar métodos sin embargo nunca tuve una razón para hacerlo. –