2using System.Threading.Tasks;
17 protected readonly TaskCompletionSource<ReturnType>
task;
20 private readonly Arg1Type arg1;
21 private readonly Arg2Type arg2;
31 this.task =
new TaskCompletionSource<ReturnType>();
32 this.callback = Callback;
44 this.task.TrySetResult(this.callback(this.arg1, this.arg2));
48 this.task.TrySetException(ex);
56 public Task<ReturnType>
WaitAsync() => this.task.Task;
Task with one argument to be synchronized.
SyncTask2(Callback2< ReturnType, Arg1Type, Arg2Type > Callback, Arg1Type Arg1, Arg2Type Arg2)
Task to be synchronized.
void Execute()
Executes the task.
Task< ReturnType > WaitAsync()
Waits for the task to complete.
readonly TaskCompletionSource< ReturnType > task
Task completion source, waiting for the result of the task.
Interface for tasks to be synckronized.
delegate ReturnType Callback2< ReturnType, Arg1Type, Arg2Type >(Arg1Type Arg1, Arg2Type Arg2)
Delegate to methods of two parameters and a given return type.