【发布时间】:2012-06-02 15:56:12
【问题描述】:
我有一个虚拟基方法void Action(),它在派生类中被覆盖。
行动的第一步是致电base.Action()。如果基本方法中出现某种情况,我不希望处理派生方法的其余部分。
我想知道是否有关键字或设计模式可以让我从基方法中退出派生方法。
目前我正在考虑将 void 更改为 bool 并将其用作流控制,但我想知道是否还有其他设计模式可以使用。
【问题讨论】:
-
不,这不是错误情况,因此异常不会起作用。
-
抱歉增益(删除了之前关于不需要解决方案的帖子),我仍然需要解决方案,系统变得相当复杂。基本上在代码的其他地方有一个 credits_available 变量。如果没有可用的积分,我希望能够禁用基类中的所有操作。我希望能够在派生类不必复制代码的情况下做到这一点。
标签: c# inheritance methods base derived