TaskFactory.cs
Go to the documentation of this file.
51 : this (CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, scheduler)
55 public TaskFactory (TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions)
60 public TaskFactory (CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions,
97 if ((continuationOptions & (TaskContinuationOptions.OnlyOnRanToCompletion | TaskContinuationOptions.NotOnRanToCompletion)) != 0)
100 const TaskContinuationOptions long_running = TaskContinuationOptions.LongRunning | TaskContinuationOptions.ExecuteSynchronously;
102 throw new ArgumentOutOfRangeException ("continuationOptions", "Synchronous continuations cannot be long running");
121 public Task StartNew (Action action, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler)
149 public Task StartNew (Action<object> action, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions,
170 public Task<TResult> StartNew<TResult> (Func<TResult> function, TaskCreationOptions creationOptions)
176 public Task<TResult> StartNew<TResult> (Func<TResult> function, CancellationToken cancellationToken)
199 return StartNew<TResult> (function, state, cancellationToken, creationOptions, GetScheduler ());
202 public Task<TResult> StartNew<TResult> (Func<object, TResult> function, object state, CancellationToken cancellationToken)
204 return StartNew<TResult> (function, state, cancellationToken, creationOptions, GetScheduler ());
207 public Task<TResult> StartNew<TResult> (Func<object, TResult> function, object state, TaskCreationOptions creationOptions)
209 return StartNew<TResult> (function, state, cancellationToken, creationOptions, GetScheduler ());
228 return ContinueWhenAny (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
231 public Task ContinueWhenAny (Task[] tasks, Action<Task> continuationAction, CancellationToken cancellationToken)
233 return ContinueWhenAny (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
236 public Task ContinueWhenAny (Task[] tasks, Action<Task> continuationAction, TaskContinuationOptions continuationOptions)
238 return ContinueWhenAny (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
241 public Task ContinueWhenAny (Task[] tasks, Action<Task> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
245 var cont = Task.WhenAnyCore (tasks).ContinueWith (TaskActionInvoker.CreateSelected (continuationAction), cancellationToken, continuationOptions, scheduler);
253 return ContinueWhenAny (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
260 return ContinueWhenAny (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
267 return ContinueWhenAny (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
281 public Task<TResult> ContinueWhenAny<TResult> (Task[] tasks, Func<Task, TResult> continuationFunction)
283 return ContinueWhenAny (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
290 return ContinueWhenAny (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
297 return ContinueWhenAny (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
308 var cont = Task.WhenAnyCore (tasks).ContinueWith<TResult> (TaskActionInvoker.Create (continuationFunction, tasks), cancellationToken, continuationOptions, scheduler);
313 public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
316 return ContinueWhenAny (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
319 public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
323 return ContinueWhenAny (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
326 public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
330 return ContinueWhenAny (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
333 public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
348 return ContinueWhenAll (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
351 public Task ContinueWhenAll (Task[] tasks, Action<Task[]> continuationAction, CancellationToken cancellationToken)
353 return ContinueWhenAll (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
359 return ContinueWhenAll (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
362 public Task ContinueWhenAll (Task[] tasks, Action<Task[]> continuationAction, CancellationToken cancellationToken,
367 var cont = Task.WhenAllCore (tasks).ContinueWith (TaskActionInvoker.Create (continuationAction, tasks), cancellationToken, continuationOptions, scheduler);
375 return ContinueWhenAll (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
381 return ContinueWhenAll (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
384 public Task ContinueWhenAll<TAntecedentResult> (Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationAction,
387 return ContinueWhenAll (tasks, continuationAction, cancellationToken, continuationOptions, GetScheduler ());
399 public Task<TResult> ContinueWhenAll<TResult> (Task[] tasks, Func<Task[], TResult> continuationFunction)
401 return ContinueWhenAll<TResult> (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
404 public Task<TResult> ContinueWhenAll<TResult> (Task[] tasks, Func<Task[], TResult> continuationFunction,
407 return ContinueWhenAll<TResult> (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
410 public Task<TResult> ContinueWhenAll<TResult> (Task[] tasks, Func<Task[], TResult> continuationFunction,
413 return ContinueWhenAll<TResult> (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
416 public Task<TResult> ContinueWhenAll<TResult> (Task[] tasks, Func<Task[], TResult> continuationFunction,
422 var cont = Task.WhenAllCore (tasks).ContinueWith<TResult> (TaskActionInvoker.Create (continuationFunction, tasks), cancellationToken, continuationOptions, scheduler);
427 public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
430 return ContinueWhenAll<TAntecedentResult, TResult> (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
433 public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
437 return ContinueWhenAll<TAntecedentResult, TResult> (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
440 public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
444 return ContinueWhenAll<TAntecedentResult, TResult> (tasks, continuationFunction, cancellationToken, continuationOptions, GetScheduler ());
447 public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
468 public Task FromAsync (IAsyncResult asyncResult, Action<IAsyncResult> endMethod, TaskCreationOptions creationOptions)
473 public Task FromAsync (IAsyncResult asyncResult, Action<IAsyncResult> endMethod, TaskCreationOptions creationOptions, TaskScheduler scheduler)
485 public Task<TResult> FromAsync<TResult> (IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod)
490 public Task<TResult> FromAsync<TResult> (IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions)
495 public Task<TResult> FromAsync<TResult> (IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions, TaskScheduler scheduler)
497 return TaskFactory<TResult>.FromIAsyncResult (asyncResult, endMethod, creationOptions, scheduler);
504 public Task FromAsync (Func<AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, object state)
509 public Task FromAsync (Func<AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod,
517 public Task FromAsync<TArg1> (Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod,
523 public Task FromAsync<TArg1> (Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod,
534 public Task FromAsync<TArg1, TArg2> (Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod,
541 public Task FromAsync<TArg1, TArg2> (Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod,
553 public Task FromAsync<TArg1, TArg2, TArg3> (Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod,
559 public Task FromAsync<TArg1, TArg2, TArg3> (Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod,
570 public Task<TResult> FromAsync<TResult> (Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod,
576 public Task<TResult> FromAsync<TResult> (Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod,
582 public Task<TResult> FromAsync<TArg1, TResult> (Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod,
588 public Task<TResult> FromAsync<TArg1, TResult> (Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod,
591 return TaskFactory<TResult>.FromAsyncBeginEnd (beginMethod, endMethod, arg1, state, creationOptions);
594 public Task<TResult> FromAsync<TArg1, TArg2, TResult> (Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod,
601 public Task<TResult> FromAsync<TArg1, TArg2, TResult> (Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod,
604 return TaskFactory<TResult>.FromAsyncBeginEnd (beginMethod, endMethod, arg1, arg2, state, creationOptions);
607 public Task<TResult> FromAsync<TArg1, TArg2, TArg3, TResult> (Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod,
613 public Task<TResult> FromAsync<TArg1, TArg2, TArg3, TResult> (Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod,
616 return TaskFactory<TResult>.FromAsyncBeginEnd (beginMethod, endMethod, arg1, arg2, arg3, state, creationOptions);
626 static void CheckContinueArguments (Task[] tasks, object continuationAction, TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
static TaskScheduler Current
Definition: TaskScheduler.cs:86
TaskFactory(TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions)
Definition: TaskFactory.cs:55
Task ContinueWhenAny(Task[] tasks, Action< Task > continuationAction, CancellationToken cancellationToken)
Definition: TaskFactory.cs:231
Task ContinueWhenAny(Task[] tasks, Action< Task > continuationAction)
Definition: TaskFactory.cs:226
Task FromAsync(Func< AsyncCallback, object, IAsyncResult > beginMethod, Action< IAsyncResult > endMethod, object state)
Definition: TaskFactory.cs:504
TaskFactory(CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
Definition: TaskFactory.cs:60
Task ContinueWhenAll(Task[] tasks, Action< Task[]> continuationAction, TaskContinuationOptions continuationOptions)
Definition: TaskFactory.cs:356
Definition: AggregateException.cs:31
TaskContinuationOptions
Definition: TaskContinuationOptions.cs:31
Task FromAsync(IAsyncResult asyncResult, Action< IAsyncResult > endMethod)
Definition: TaskFactory.cs:463
Task StartNew(Action action, TaskCreationOptions creationOptions)
Definition: TaskFactory.cs:116
Task ContinueWhenAny(Task[] tasks, Action< Task > continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
Definition: TaskFactory.cs:241
Task StartNew(Action action, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler)
Definition: TaskFactory.cs:121
TaskFactory(TaskScheduler scheduler)
Definition: TaskFactory.cs:50
Task ContinueWhenAll(Task[] tasks, Action< Task[]> continuationAction)
Definition: TaskFactory.cs:346
TaskFactory(CancellationToken cancellationToken)
Definition: TaskFactory.cs:45
Task StartNew(Action action, CancellationToken cancellationToken)
Definition: TaskFactory.cs:111
Task FromAsync(IAsyncResult asyncResult, Action< IAsyncResult > endMethod, TaskCreationOptions creationOptions)
Definition: TaskFactory.cs:468
Task StartNew(Action< object > action, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler)
Definition: TaskFactory.cs:149
Task FromAsync(IAsyncResult asyncResult, Action< IAsyncResult > endMethod, TaskCreationOptions creationOptions, TaskScheduler scheduler)
Definition: TaskFactory.cs:473
Task FromAsync(Func< AsyncCallback, object, IAsyncResult > beginMethod, Action< IAsyncResult > endMethod, object state, TaskCreationOptions creationOptions)
Definition: TaskFactory.cs:509
Task StartNew(Action< object > action, object state, TaskCreationOptions creationOptions)
Definition: TaskFactory.cs:144
Task StartNew(Action< object > action, object state, CancellationToken cancellationToken)
Definition: TaskFactory.cs:139
Task ContinueWhenAll(Task[] tasks, Action< Task[]> continuationAction, CancellationToken cancellationToken)
Definition: TaskFactory.cs:351
Task ContinueWhenAll(Task[] tasks, Action< Task[]> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
Definition: TaskFactory.cs:362
Task ContinueWhenAny(Task[] tasks, Action< Task > continuationAction, TaskContinuationOptions continuationOptions)
Definition: TaskFactory.cs:236
Task StartNew(Action action)
Definition: TaskFactory.cs:106
Task StartNew(Action< object > action, object state)
Definition: TaskFactory.cs:134
Definition: Task.cs:43