public static TaskAwaitable <T> ConfigureAwaitHideErrors <T>(this ITaskHelper taskHelper, Task <T> task, T resultOnError) { async Task <T> Inner() { try { return(await taskHelper.ConfigureAwait(task)); } catch { return(resultOnError); } } return(taskHelper.ConfigureAwait(Inner())); }
public static TaskAwaitable <Exception> ConfigureAwaitHideErrors(this ITaskHelper taskHelper, Func <Task> task) { async Task <Exception> Inner() { try { await taskHelper.ConfigureAwait(task()); return(null); } catch (Exception e) { return(e); } } return(taskHelper.ConfigureAwait(Inner())); }
public static TaskAwaitable ConfigureAwait(this Task task, ITaskHelper taskHelper) => taskHelper.ConfigureAwait(task);
public static TaskAwaitable <T> ConfigureAwait <T>(this Task <T> task, ITaskHelper taskHelper) => taskHelper.ConfigureAwait(task);
public static Task Run(this ITaskHelper taskHelper, Func <Task> function) => taskHelper.Run(async() => { await taskHelper.ConfigureAwait(function()); return(0); });