示例#1
0
        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()));
        }
示例#2
0
        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()));
        }
示例#3
0
 public static TaskAwaitable ConfigureAwait(this Task task, ITaskHelper taskHelper) => taskHelper.ConfigureAwait(task);
示例#4
0
 public static TaskAwaitable <T> ConfigureAwait <T>(this Task <T> task, ITaskHelper taskHelper) => taskHelper.ConfigureAwait(task);
示例#5
0
 public static Task Run(this ITaskHelper taskHelper, Func <Task> function) => taskHelper.Run(async() =>
 {
     await taskHelper.ConfigureAwait(function());
     return(0);
 });