TaskFactory.ContinueWhenAny Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
Überlädt
ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)
Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAny (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task), continuationOptions As TaskContinuationOptions) As Task
Parameter
- tasks
- Task[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- continuationOptions
- TaskContinuationOptions
Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task steuert.
Gibt zurück
Der neue Fortsetzungs-Task.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
continuationOptions
gibt einen ungültigen TaskContinuationOptions-Wert an.
Hinweise
Die NotOn* und OnlyOn* TaskContinuationOptions, die eingeschränkt wird, für welche TaskStatus Staaten eine Fortsetzung ausgeführt werden, sind illegal mit ContinueWhenAny
.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task ContinueWhenAny (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task
Parameter
- tasks
- Task[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- cancellationToken
- CancellationToken
Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.
- continuationOptions
- TaskContinuationOptions
Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task steuert.
- scheduler
- TaskScheduler
Das TaskScheduler, das verwendet wird, um das erstellte Fortsetzungs-Task zu planen.
Gibt zurück
Der neue Fortsetzungs-Task.
Ausnahmen
Das tasks
-Array ist null
.
- oder -
continuationAction
ist null
.
- oder -
scheduler
ist null
.
continuationOptions
gibt einen ungültigen TaskContinuationOptions-Wert an.
Das angegebene CancellationToken wurde bereits verworfen.
Hinweise
Die NotOn* und OnlyOn* TaskContinuationOptions, die einschränken, für welche TaskStatus Staaten eine Fortsetzung ausgeführt werden, sind illegal mit ContinueWhenAny
.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny(Task[], Action<Task>)
Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAny (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task)) As Task
Parameter
- tasks
- Task[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
Gibt zurück
Der neue Fortsetzungs-Task.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
Das tasks
-Array ist null
.
- oder -
Das continuationAction
-Argument lautet null
.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Sie verwenden ContinueWhenAny
und ContinueWhenAll
:
using System;
using System.Threading;
using System.Threading.Tasks;
class ContinueWhenMultiDemo
{
// Demonstrated features:
// Task.Factory
// TaskFactory.ContinueWhenAll()
// TaskFactory.ContinueWhenAny()
// Task.Wait()
// Expected results:
// Three tasks are created in parallel.
// Each task for a different period of time prints a number and returns it.
// A ContinueWhenAny() task indicates the first of the three tasks to complete.
// A ContinueWhenAll() task sums up the results of the three tasks and prints out the total.
// Documentation:
// http://msdn.microsoft.com/library/system.threading.tasks.taskfactory_members(VS.100).aspx
static void Main()
{
// Schedule a list of tasks that return integer
Task<int>[] tasks = new Task<int>[]
{
Task<int>.Factory.StartNew(() =>
{
Thread.Sleep(500);
Console.WriteLine("Task={0}, Thread={1}, x=5", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
return 5;
}),
Task<int>.Factory.StartNew(() =>
{
Thread.Sleep(10);
Console.WriteLine("Task={0}, Thread={1}, x=3", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
return 3;
}),
Task<int>.Factory.StartNew(() =>
{
Thread.Sleep(200);
Console.WriteLine("Task={0}, Thread={1}, x=2", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
return 2;
})
};
// Schedule a continuation to indicate the result of the first task to complete
Task.Factory.ContinueWhenAny(tasks, winner =>
{
// You would expect winning result = 3 on multi-core systems, because you expect
// tasks[1] to finish first.
Console.WriteLine("Task={0}, Thread={1} (ContinueWhenAny): Winning result = {2}", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, winner.Result);
});
// Schedule a continuation that sums up the results of all tasks, then wait on it.
// The list of antecendent tasks is passed as an argument by the runtime.
Task.Factory.ContinueWhenAll(tasks,
(antecendents) =>
{
int sum = 0;
foreach (Task<int> task in antecendents)
{
sum += task.Result;
}
Console.WriteLine("Task={0}, Thread={1}, (ContinueWhenAll): Total={2} (expected 10)", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, sum);
})
.Wait();
}
}
Imports System.Threading
Imports System.Threading.Tasks
Module ContinuationWhenMulti
' Demonstrated features:
' Task.Factory
' TaskFactory.ContinueWhenAll()
' TaskFactory.ContinueWhenAny()
' Task.Wait()
' Expected results:
' Three tasks are created in parallel.
' Each task for a different period of time prints a number and returns it.
' A ContinueWhenAny() task indicates the first of the three tasks to complete.
' A ContinueWhenAll() task sums up the results of the three tasks and prints out the total.
' Documentation:
' http://msdn.microsoft.com/library/system.threading.tasks.taskfactory_members(VS.100).aspx
Sub Main()
' Schedule a list of tasks that return integer
Dim tasks As Task(Of Integer)() = New Task(Of Integer)() {
Task(Of Integer).Factory.StartNew(Function()
Thread.Sleep(500)
Console.WriteLine("Task={0}, Thread={1}, x=5", Task.CurrentId, Thread.CurrentThread.ManagedThreadId)
Return 5
End Function),
Task(Of Integer).Factory.StartNew(Function()
Thread.Sleep(10)
Console.WriteLine("Task={0}, Thread={1}, x=3", Task.CurrentId, Thread.CurrentThread.ManagedThreadId)
Return 3
End Function),
Task(Of Integer).Factory.StartNew(Function()
Thread.Sleep(200)
Console.WriteLine("Task={0}, Thread={1}, x=2", Task.CurrentId, Thread.CurrentThread.ManagedThreadId)
Return 2
End Function)}
' Schedule a continuation to indicate the result of the first task to complete
Task.Factory.ContinueWhenAny(tasks, Sub(winner)
' You would expect winning result = 3 on multi-core systems, because you expect
' tasks[1] to finish first.
Console.WriteLine("Task={0}, Thread={1} (ContinueWhenAny): Winning result = {2}", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, winner.Result)
End Sub)
' Schedule a continuation that sums up the results of all tasks, then wait on it.
' The list of antecendent tasks is passed as an argument by the runtime.
Task.Factory.ContinueWhenAll(tasks, Sub(antecendents)
Dim sum As Integer = 0
For Each task__1 As Task(Of Integer) In antecendents
sum += task__1.Result
Next
Console.WriteLine("Task={0}, Thread={1}, (ContinueWhenAll): Total={2} (expected 10)", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, sum)
End Sub).Wait()
End Sub
End Module
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny(Task[], Action<Task>, CancellationToken)
Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAny (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task), cancellationToken As CancellationToken) As Task
Parameter
- tasks
- Task[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- cancellationToken
- CancellationToken
Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.
Gibt zurück
Der neue Fortsetzungs-Task.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
- oder -
cancellationToken
wurde bereits gelöscht.
Das tasks
-Array ist null
.
- oder -
Das continuationAction
-Argument lautet null
.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)
Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)
Typparameter
- TAntecedentResult
Der Ergebnistyp des vorangehenden tasks
-Elements.
- TResult
Der Typ des Ergebnisses, das vom continuationFunction
-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.
Parameter
- tasks
- Task<TAntecedentResult>[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- continuationOptions
- TaskContinuationOptions
Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task<TResult> steuert.
Gibt zurück
Der neue Fortsetzungs-Task<TResult>.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
continuationOptions
gibt einen ungültigen TaskContinuationOptions-Wert an.
Hinweise
Die NotOn* und OnlyOn* TaskContinuationOptions, die eingeschränkt wird, für welche TaskStatus Staaten eine Fortsetzung ausgeführt werden, sind illegal mit ContinueWhenAny
.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)
Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult)) As Task(Of TResult)
Typparameter
- TAntecedentResult
Der Ergebnistyp des vorangehenden tasks
-Elements.
- TResult
Der Typ des Ergebnisses, das vom continuationFunction
-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.
Parameter
- tasks
- Task<TAntecedentResult>[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
Gibt zurück
Der neue Fortsetzungs-Task<TResult>.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)
Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), cancellationToken As CancellationToken) As Task(Of TResult)
Typparameter
- TAntecedentResult
Der Ergebnistyp des vorangehenden tasks
-Elements.
- TResult
Der Typ des Ergebnisses, das vom continuationFunction
-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.
Parameter
- tasks
- Task<TAntecedentResult>[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- cancellationToken
- CancellationToken
Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.
Gibt zurück
Der neue Fortsetzungs-Task<TResult>.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
- oder - Das angegebene CancellationToken wurde bereits verworfen.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)
Typparameter
- TAntecedentResult
Der Ergebnistyp des vorangehenden tasks
-Elements.
- TResult
Der Typ des Ergebnisses, das vom continuationFunction
-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.
Parameter
- tasks
- Task<TAntecedentResult>[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- cancellationToken
- CancellationToken
Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.
- continuationOptions
- TaskContinuationOptions
Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task<TResult> steuert.
- scheduler
- TaskScheduler
Das TaskScheduler, das verwendet wird, um das erstellte Fortsetzungs-Task<TResult> zu planen.
Gibt zurück
Der neue Fortsetzungs-Task<TResult>.
Ausnahmen
Das tasks
-Array ist null
.
- oder -
continuationFunction
ist null
.
- oder -
scheduler
ist null
.
continuationOptions
gibt einen ungültigen TaskContinuationOptions-Wert an.
Das angegebene CancellationToken wurde bereits verworfen.
Hinweise
Die NotOn* und OnlyOn* TaskContinuationOptions, die eingeschränkt wird, für welche TaskStatus Staaten eine Fortsetzung ausgeführt werden, sind illegal mit ContinueWhenAny
.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)
Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult))) As Task
Typparameter
- TAntecedentResult
Der Ergebnistyp des vorangehenden tasks
-Elements.
Parameter
- tasks
- Task<TAntecedentResult>[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
Gibt zurück
Der neue Fortsetzungs-Task.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)
Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)), cancellationToken As CancellationToken) As Task
Typparameter
- TAntecedentResult
Der Ergebnistyp des vorangehenden tasks
-Elements.
Parameter
- tasks
- Task<TAntecedentResult>[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- cancellationToken
- CancellationToken
Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.
Gibt zurück
Der neue Fortsetzungs-Task.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
- oder - Das angegebene CancellationToken wurde bereits verworfen.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)
Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)), continuationOptions As TaskContinuationOptions) As Task
Typparameter
- TAntecedentResult
Der Ergebnistyp des vorangehenden tasks
-Elements.
Parameter
- tasks
- Task<TAntecedentResult>[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- continuationOptions
- TaskContinuationOptions
Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task steuert.
Gibt zurück
Der neue Fortsetzungs-Task.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
continuationOptions
gibt einen ungültigen TaskContinuationOptions-Wert an.
Hinweise
Die NotOn* und OnlyOn* TaskContinuationOptions, die einschränken, für welche TaskStatus Staaten eine Fortsetzung ausgeführt werden, sind illegal mit ContinueWhenAny
.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task
Typparameter
- TAntecedentResult
Der Ergebnistyp des vorangehenden tasks
-Elements.
Parameter
- tasks
- Task<TAntecedentResult>[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- cancellationToken
- CancellationToken
Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.
- continuationOptions
- TaskContinuationOptions
Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task steuert.
- scheduler
- TaskScheduler
Das TaskScheduler, das verwendet wird, um das erstellte Fortsetzungs-Task<TResult> zu planen.
Gibt zurück
Der neue Fortsetzungs-Task.
Ausnahmen
Das tasks
-Array ist null
.
- oder -
continuationAction
ist null
.
- oder -
paramref name="scheduler" /> ist null
.
continuationOptions
gibt einen ungültigen TaskContinuationOptions-Wert an.
Das angegebene CancellationToken wurde bereits verworfen.
Hinweise
Die NotOn* und OnlyOn* TaskContinuationOptions, die einschränken, für welche TaskStatus Staaten eine Fortsetzung ausgeführt werden, sind illegal mit ContinueWhenAny
.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)
Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult> (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult)) As Task(Of TResult)
Typparameter
- TResult
Der Typ des Ergebnisses, das vom continuationFunction
-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.
Parameter
- tasks
- Task[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
Gibt zurück
Der neue Fortsetzungs-Task<TResult>.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)
Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult> (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult), cancellationToken As CancellationToken) As Task(Of TResult)
Typparameter
- TResult
Der Typ des Ergebnisses, das vom continuationFunction
-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.
Parameter
- tasks
- Task[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- cancellationToken
- CancellationToken
Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.
Gibt zurück
Der neue Fortsetzungs-Task<TResult>.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
- oder - Das angegebene CancellationToken wurde bereits verworfen.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)
Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult> (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)
Typparameter
- TResult
Der Typ des Ergebnisses, das vom continuationFunction
-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.
Parameter
- tasks
- Task[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- continuationOptions
- TaskContinuationOptions
Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task<TResult> steuert.
Gibt zurück
Der neue Fortsetzungs-Task<TResult>.
Ausnahmen
Eines der Elemente im tasks
-Array wurde verworfen.
continuationOptions
gibt einen ungültigen TaskContinuationOptions-Wert an.
Hinweise
Die NotOn* und OnlyOn* TaskContinuationOptions, die eingeschränkt wird, für welche TaskStatus Staaten eine Fortsetzung ausgeführt werden, sind illegal mit ContinueWhenAny
.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch
Gilt für
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult> (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)
Typparameter
- TResult
Der Typ des Ergebnisses, das vom continuationFunction
-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.
Parameter
- tasks
- Task[]
Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.
Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks
-Array abgeschlossen wird.
- cancellationToken
- CancellationToken
Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.
- continuationOptions
- TaskContinuationOptions
Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task<TResult> steuert.
- scheduler
- TaskScheduler
Das TaskScheduler, das verwendet wird, um das erstellte Fortsetzungs-Task<TResult> zu planen.
Gibt zurück
Der neue Fortsetzungs-Task<TResult>.
Ausnahmen
Das tasks
-Array ist null
.
- oder -
continuationFunction
ist null
.
- oder -
scheduler
ist null
.
continuationOptions
gibt einen ungültigen TaskContinuationOptions-Wert an.
Das angegebene CancellationToken wurde bereits verworfen.
Hinweise
Die NotOn* und OnlyOn* TaskContinuationOptions, die eingeschränkt wird, für welche TaskStatus Staaten eine Fortsetzung ausgeführt werden, sind illegal mit ContinueWhenAny
.
Siehe auch
- Task Parallel Library (TPL)
- Verketten von Aufgaben mithilfe von Fortsetzungsaufgaben
- Aufgabenabbruch