【发布时间】:2013-05-08 20:22:15
【问题描述】:
我正在一个方法内部工作,该方法执行一系列验证检查,如果其中任何一个检查失败,它会调用Action<string> 来运行一些常见的拒绝代码。设置类似于这样:
public void ValidationMethod() {
Action<string> rejectionRoutine = (rejectionDescription) => {
// do something with the reject description
// other common code
};
if (condition != requiredValue) {
rejectionRoutine("Condition check failed");
// I currently have to put `return` here following every failed check
}
// many more checks following this
}
在这个系统中,一旦一个检查验证失败,我就不需要验证其余的,我只想在 Action 中运行常见的拒绝代码并退出该方法。目前要做到这一点,我只需在调用rejectionRoutine 之后的下一行return。我想知道是否有一种方法可以合并从Action 内部返回或终止父方法执行的能力?
我知道这有点挑剔,但我觉得如果其他人需要添加额外的验证检查(他们不必担心将 return 到处都是) 以及将结束执行的常见行为封装在这些情况下应该通用的代码中。
【问题讨论】: