コード例 #1
0
 public static Task <U> OnSuccessWithTask <T, U>(this Task <T> t, Func <T, Task <U> > succesHandler)
 {
     return(t.ContinueWithTask <U>(x =>
     {
         return succesHandler(t.Result);
     }, true));
 }
コード例 #2
0
 public static Task <T> OnSuccessWithTask <T>(this Task t, Func <Task <T> > succesHandler)
 {
     return(t.ContinueWithTask <T>(x =>
     {
         return succesHandler();
     }, true));
 }
コード例 #3
0
ファイル: TaskExtensions.cs プロジェクト: aoaoi/IteratorTasks
 public static Task <U> ContinueWithTask <T, U>(this Task <T> t, Func <Task <T>, Task <U> > starter, bool rethrowOnError)
 {
     if (!rethrowOnError)
     {
         return(t.ContinueWithTask(starter));
     }
     return(t.ContinueWithTask(x =>
     {
         if (x.Exception != null)
         {
             return Task.FromException <U>(x.Exception);
         }
         else
         {
             return x.ContinueWithTask(starter);
         }
     }));
 }
コード例 #4
0
ファイル: TaskExtensions.cs プロジェクト: aoaoi/IteratorTasks
 public static Task <U> ContinueWithIterator <T, U>(this Task <T> t, Func <Task <T>, Action <U>, IEnumerator> routine, bool rethrowOnError)
 {
     if (!rethrowOnError)
     {
         return(t.ContinueWithIterator(routine));
     }
     return(t.ContinueWithTask(x =>
     {
         if (x.Exception != null)
         {
             return Task.FromException <U>(x.Exception);
         }
         else
         {
             return x.ContinueWithIterator(routine);
         }
     }));
 }
コード例 #5
0
ファイル: TaskExtensions.cs プロジェクト: aoaoi/IteratorTasks
 public static Task ContinueWith <T>(this Task <T> t, Action <Task <T> > func, bool rethrowOnError)
 {
     if (!rethrowOnError)
     {
         return(t.ContinueWith(func));
     }
     return(t.ContinueWithTask(x =>
     {
         if (x.Exception != null)
         {
             return Task.FromException(x.Exception);
         }
         else
         {
             return x.ContinueWith(func);
         }
     }));
 }
コード例 #6
0
 /// <summary>
 /// タスクが正常終了したときのみ実行される<see cref="Task.ContinueWithTask{T}"/>。
 /// </summary>
 public static Task OnSuccessWithTask <T>(this Task <T> t, Func <T, Task> succesHandler) => t.ContinueWithTask(x =>
 {
     return(succesHandler(t.Result));
 }, true);
コード例 #7
0
 /// <summary>
 /// タスクが正常終了したときのみ実行される<see cref="Task.ContinueWithTask"/>。
 /// </summary>
 public static Task OnSuccessWithTask(this Task t, Func <Task> succesHandler) => t.ContinueWithTask(x =>
 {
     return(succesHandler());
 }, true);