Asegúrese de que se llame al método base en C #

¿Puedo de alguna manera forzar a una clase derivada a llamar siempre a la base de métodos anulada?

public class BaseClass
{
    public virtual void Update()
    {
        if(condition)
        {
            throw new Exception("..."); // Prevent derived method to be called
        }
    }
}

Y luego en una clase derivada:

public override void Update()
{
    base.Update(); // Forced call

    // Do any work
}

He buscado y encontrado una sugerencia para usar una actualización no virtual () pero también una actualización virtual protegida (). Simplemente no se siente muy bien, ¿no hay una mejor manera?

Espero que recibas la pregunta y lamento cualquier mal inglés.

Respuestas a la pregunta(4)

Su respuesta a la pregunta