我可以以某种方式强制派生类始终调用被覆盖的方法基吗?
public class BaseClass
{
public virtual void Update()
{
if(condition)
{
throw new Exception("..."); // Prevent derived method to be called
}
}
}
然后在派生类中:
public override void Update()
{
base.Update(); // Forced call
// Do any work
}
我搜索并找到了使用非虚拟 Update() 以及受保护的虚拟 UpdateEx() 的建议。就是感觉不是很整洁,有没有更好的办法?
我希望你能得到这个问题,对于任何糟糕的英语,我深表歉意。