public static bool Then(this bool res, Action action, ExecuteStrategy strategy) { if (res) { switch (strategy) { case ExecuteStrategy.Default: action?.Invoke(); break; case ExecuteStrategy.SeparateTask: Task.Run(action); break; case ExecuteStrategy.MainThread: Device.BeginInvokeOnMainThread(action); break; } } return(res); }
internal ExecuteService(ExecuteStrategy executeStrategy) { _executeStrategy = executeStrategy; }
public static bool Else(this bool res, Action action, ExecuteStrategy strategy) { return((!res).Then(action, strategy)); }
public static IEnumerable <TItem> Each <TItem>(this IEnumerable <TItem> items, Action <TItem> action, ExecuteStrategy strategy) { switch (strategy) { case ExecuteStrategy.SeparateTask: action = (i) => Task.Run(() => action(i)); break; case ExecuteStrategy.MainThread: action = (i) => Device.BeginInvokeOnMainThread(() => action(i)); break; } return(items.Each(action)); }