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
I feel comfortable on a variety of systems (UNIX, Windows, cross-compiled embedded systems, etc.) in a variety of languages, environments, and tools.
I have a particular affinity to computer language analysis, testing, as well as quality management.
More information about what I do for a living can be found at my LinkedIn Profile
and on my company's web page