私は、一連の検証チェックを実行するメソッド内で作業しています。これらのチェックのいずれかが失敗した場合、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
}
このシステムでは、1 つのチェックが検証に失敗すると、残りを検証する必要はありません。アクション内で一般的な拒否コードを実行し、メソッドを終了したいだけです。現在これを行うには、return
への呼び出しに続く次の行で行いますrejectionRoutine
。Action
?の内部から親メソッドの実行を返したり終了したりする機能を組み込む方法があるかどうか疑問に思っています。
私はこれが少しうるさいことを知っていますが、他の誰かが追加の検証チェックを追加する必要がある場合(彼らはリターンをあちこちに置くことを気にする必要はありません)、さらに先の拡張性のためにも良いと思います.これらのケースに共通であると思われるコード内で実行を終了する一般的な動作をカプセル化するものとして。