This is an alternative tip to the original tip[^].
It basically wraps the original tip into one function. I prefer wrapping such functionality into a function that tells about the intent of the construct (even some purists will argue that function calls cost execution time...).
Here comes the code:
public static void RunToFirstMatch<T>(Func<T, bool> sentry, params Func<T> functions)
functions.Any(f => sentry(f()));
The code is called as follows (see the original functions[^]):
RunToFirstMatch(v => (v >= 5), Step1, ()=>Step2(1,1), Step3, Step4, ()=>0+1);
As said, the content is the same, I simply added some wrapping.
- V1.0, 2012-06-19: Initial version
- V1.1, 2012-06-19: Fixed code