예제 #1
0
 /// <summary>Traverses values and invokes a function on every <typeparamref name="T"/> value.</summary>
 /// <typeparam name="T">The type of value to traverse.</typeparam>
 /// <param name="steppable">The values to step though.</param>
 /// <param name="step">>The function to invoke on every <typeparamref name="T"/> value.</param>
 /// <returns>The status of the traversal.</returns>
 public static StepStatus StepperBreak <T>(this ISteppable <T> steppable, Func <T, StepStatus> step)
 {
     if (step is null)
     {
         throw new ArgumentNullException(nameof(step));
     }
     return(steppable.StepperBreak <SFunc <T, StepStatus> >(step));
 }
예제 #2
0
 /// <summary>Traverses values and invokes a function on every <typeparamref name="T"/> value.</summary>
 /// <typeparam name="T">The type of value to traverse.</typeparam>
 /// <param name="steppable">The values to step though.</param>
 /// <param name="step">The function to invoke on every <typeparamref name="T"/> value.</param>
 public static void Stepper <T>(this ISteppable <T> steppable, Action <T> step)
 {
     if (step is null)
     {
         throw new ArgumentNullException(nameof(step));
     }
     steppable.Stepper <T, SAction <T> >(step);
 }
예제 #3
0
 public Step(ISteppable steppableObject)
 {
     this.SteppableObject = steppableObject;
 }
예제 #4
0
 /// <summary>Traverses values and invokes a function on every <typeparamref name="T"/> value.</summary>
 /// <typeparam name="T">The type of value to traverse.</typeparam>
 /// <typeparam name="TStep">The type of function to invoke on every <typeparamref name="T"/> value.</typeparam>
 /// <param name="steppable">The values to step though.</param>
 /// <param name="step">The function to invoke on every <typeparamref name="T"/> value.</param>
 public static void Stepper <T, TStep>(this ISteppable <T> steppable, TStep step = default)
     where TStep : struct, IAction <T> =>
 steppable.StepperBreak <StepBreakFromAction <T, TStep> >(step);