TaskFactory.ContinueWhenAny TaskFactory.ContinueWhenAny TaskFactory.ContinueWhenAny TaskFactory.ContinueWhenAny Method

Definition

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

Überlädt

ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions) ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions) ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions) ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny(Task[], Action<Task>) ContinueWhenAny(Task[], Action<Task>) ContinueWhenAny(Task[], Action<Task>) ContinueWhenAny(Task[], Action<Task>)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny(Task[], Action<Task>, CancellationToken) ContinueWhenAny(Task[], Action<Task>, CancellationToken) ContinueWhenAny(Task[], Action<Task>, CancellationToken)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler) 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.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)

Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)

Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)

Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions) ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions) ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions) ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The action delegate to execute when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions

Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task steuert.The TaskContinuationOptions value that controls the behavior of the created continuation Task.

Gibt zurück

Der neue Fortsetzungs-Task.The new continuation Task.

Ausnahmen

Eines der Elemente im tasks-Array wurde verworfen.One of the elements in the tasks array has been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationAction ist null.continuationAction is null.

continuationOptions gibt einen ungültigen TaskContinuationOptions-Wert an.continuationOptions specifies an invalid TaskContinuationOptions value.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Hinweise

Die Noton * und OnlyOn * TaskContinuationOptions, die einschränken, für welche TaskStatus Zustände eine Fortsetzung ausgeführt wird, sind mit Continue-any unzulässig.The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Siehe auch

ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parameter

tasks
Task[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken CancellationToken CancellationToken CancellationToken

Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.The CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions

Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task steuert.The TaskContinuationOptions value that controls the behavior of the created continuation Task.

scheduler
TaskScheduler TaskScheduler TaskScheduler TaskScheduler

Das TaskScheduler, das verwendet wird, um das erstellte Fortsetzungs-Task zu planen.The TaskScheduler that is used to schedule the created continuation Task.

Gibt zurück

Der neue Fortsetzungs-Task.The new continuation Task.

Ausnahmen

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationAction ist null.continuationAction is null.

- oder --or- scheduler ist null.scheduler is null.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

continuationOptions gibt einen ungültigen TaskContinuationOptions-Wert an.continuationOptions specifies an invalid TaskContinuationOptions value.

Das angegebene CancellationToken wurde bereits freigegeben.The provided CancellationToken has already been disposed.

Hinweise

Die Noton * und OnlyOn * TaskContinuationOptions, die einschränken, für welche TaskStatus Zustände eine Fortsetzung ausgeführt wird, sind mit ContinueWhenAnyunzulässig.The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Siehe auch

ContinueWhenAny(Task[], Action<Task>) ContinueWhenAny(Task[], Action<Task>) ContinueWhenAny(Task[], Action<Task>) ContinueWhenAny(Task[], Action<Task>)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The action delegate to execute when one task in the tasks array completes.

Gibt zurück

Der neue Fortsetzungs-Task.The new continuation Task.

Ausnahmen

Eines der Elemente im tasks-Array wurde verworfen.One of the elements in the tasks array has been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- Das continuationAction-Argument ist null.The continuationAction argument is null.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Beispiele

Im folgenden Beispiel wird gezeigt, wie ContinueWhenAny und ContinueWhenAllverwendet werden:The following example shows how to use ContinueWhenAny and 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

ContinueWhenAny(Task[], Action<Task>, CancellationToken) ContinueWhenAny(Task[], Action<Task>, CancellationToken) ContinueWhenAny(Task[], Action<Task>, CancellationToken)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Parameter

tasks
Task[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken CancellationToken CancellationToken CancellationToken

Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.The CancellationToken that will be assigned to the new continuation task.

Gibt zurück

Der neue Fortsetzungs-Task.The new continuation Task.

Ausnahmen

Eines der Elemente im tasks-Array wurde freigegeben.One of the elements in the tasks array has been disposed.

- oder --or- cancellationToken wurde bereits gelöscht.cancellationToken has already been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- Das continuationAction-Argument ist null.The continuationAction argument is null.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty .

Siehe auch

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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.The type of the result of the antecedent tasks.

TResult

Der Typ des Ergebnisses, das vom continuationFunction-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parameter

tasks
Task<TAntecedentResult>[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The function delegate to execute asynchronously when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions

Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task<TResult> steuert.The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

Gibt zurück

Ausnahmen

Eines der Elemente im tasks-Array wurde verworfen.One of the elements in the tasks array has been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationFunction ist null.continuationFunction is null.

continuationOptions gibt einen ungültigen TaskContinuationOptions-Wert an.continuationOptions specifies an invalid TaskContinuationOptions value.

Das tasks-Array enthält einen NULL-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Hinweise

Die Noton * und OnlyOn * TaskContinuationOptions, die einschränken, für welche TaskStatus Zustände eine Fortsetzung ausgeführt wird, sind mit Continue-any unzulässig.The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Siehe auch

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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.The type of the result of the antecedent tasks.

TResult

Der Typ des Ergebnisses, das vom continuationFunction-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parameter

tasks
Task<TAntecedentResult>[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The function delegate to execute asynchronously when one task in the tasks array completes.

Gibt zurück

Ausnahmen

Eines der Elemente im tasks-Array wurde verworfen.One of the elements in the tasks array has been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationFunction ist null.continuationFunction is null.

Das tasks-Array enthält einen NULL-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Siehe auch

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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>

Typparameter

TAntecedentResult

Der Ergebnistyp des vorangehenden tasks-Elements.The type of the result of the antecedent tasks.

TResult

Der Typ des Ergebnisses, das vom continuationFunction-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parameter

tasks
Task<TAntecedentResult>[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken CancellationToken CancellationToken CancellationToken

Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.The CancellationToken that will be assigned to the new continuation task.

Gibt zurück

Ausnahmen

Eines der Elemente im tasks-Array wurde freigegeben.One of the elements in the tasks array has been disposed.

- oder --or- Das angegebene CancellationToken wurde bereits freigegeben.The provided CancellationToken has already been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationFunction ist null.continuationFunction is null.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Siehe auch

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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>

Typparameter

TAntecedentResult

Der Ergebnistyp des vorangehenden tasks-Elements.The type of the result of the antecedent tasks.

TResult

Der Typ des Ergebnisses, das vom continuationFunction-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parameter

tasks
Task<TAntecedentResult>[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken CancellationToken CancellationToken CancellationToken

Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.The CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions

Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task<TResult> steuert.The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

scheduler
TaskScheduler TaskScheduler TaskScheduler TaskScheduler

Das TaskScheduler, das verwendet wird, um das erstellte Fortsetzungs-Task<TResult> zu planen.The TaskScheduler that is used to schedule the created continuation Task<TResult>.

Gibt zurück

Ausnahmen

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationFunction ist null.continuationFunction is null.

- oder --or- scheduler ist null.scheduler is null.

Das tasks-Array enthält einen NULL-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

continuationOptions gibt einen ungültigen TaskContinuationOptions-Wert an.continuationOptions specifies an invalid TaskContinuationOptions value.

Das angegebene CancellationToken wurde bereits freigegeben.The provided CancellationToken has already been disposed.

Hinweise

Die Noton * und OnlyOn * TaskContinuationOptions, die einschränken, für welche TaskStatus Zustände eine Fortsetzung ausgeführt wird, sind mit Continue-any unzulässig.The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Siehe auch

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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.The type of the result of the antecedent tasks.

Parameter

tasks
Task<TAntecedentResult>[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The action delegate to execute when one task in the tasks array completes.

Gibt zurück

Der neue Fortsetzungs-Task.The new continuation Task.

Ausnahmen

Eines der Elemente im tasks-Array wurde verworfen.One of the elements in the tasks array has been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationAction ist null.continuationAction is null.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Siehe auch

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Typparameter

TAntecedentResult

Der Ergebnistyp des vorangehenden tasks-Elements.The type of the result of the antecedent tasks.

Parameter

tasks
Task<TAntecedentResult>[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken CancellationToken CancellationToken CancellationToken

Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.The CancellationToken that will be assigned to the new continuation task.

Gibt zurück

Der neue Fortsetzungs-Task.The new continuation Task.

Ausnahmen

Eines der Elemente im tasks-Array wurde freigegeben.One of the elements in the tasks array has been disposed.

- oder --or- Das angegebene CancellationToken wurde bereits freigegeben.The provided CancellationToken has already been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationAction ist null.continuationAction is null.

Das tasks-Array enthält einen NULL-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Siehe auch

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)

Erstellt ein Fortsetzungs-Task, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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.The type of the result of the antecedent tasks.

Parameter

tasks
Task<TAntecedentResult>[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The action delegate to execute when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions

Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task steuert.The TaskContinuationOptions value that controls the behavior of the created continuation Task.

Gibt zurück

Der neue Fortsetzungs-Task.The new continuation Task.

Ausnahmen

Eines der Elemente im tasks-Array wurde verworfen.One of the elements in the tasks array has been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationAction ist null.continuationAction is null.

continuationOptions gibt einen ungültigen TaskContinuationOptions-Wert an.continuationOptions specifies an invalid TaskContinuationOptions value.

Das tasks-Array enthält einen NULL-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Hinweise

Die Noton * und OnlyOn * TaskContinuationOptions, die einschränken, für welche TaskStatus Zustände eine Fortsetzung ausgeführt wird, sind mit Continue-any unzulässig.The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Siehe auch

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler) 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.Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

Typparameter

TAntecedentResult

Der Ergebnistyp des vorangehenden tasks-Elements.The type of the result of the antecedent tasks.

Parameter

tasks
Task<TAntecedentResult>[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

Der Aktionsdelegat, der ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken CancellationToken CancellationToken CancellationToken

Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.The CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions

Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task steuert.The TaskContinuationOptions value that controls the behavior of the created continuation Task.

scheduler
TaskScheduler TaskScheduler TaskScheduler TaskScheduler

Das TaskScheduler, das verwendet wird, um das erstellte Fortsetzungs-Task<TResult> zu planen.The TaskScheduler that is used to schedule the created continuation Task<TResult>.

Gibt zurück

Der neue Fortsetzungs-Task.The new continuation Task.

Ausnahmen

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationAction ist null.continuationAction is null.

- oder --or- paramref name="scheduler" /> ist null.paramref name="scheduler" /> is null.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

continuationOptions gibt einen ungültigen TaskContinuationOptions-Wert an.continuationOptions specifies an invalid TaskContinuationOptions value.

Das angegebene CancellationToken wurde bereits freigegeben.The provided CancellationToken has already been disposed.

Hinweise

Die Noton * und OnlyOn * TaskContinuationOptions, die einschränken, für welche TaskStatus Zustände eine Fortsetzung ausgeführt wird, sind mit Continue-any unzulässig.The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Siehe auch

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)

Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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.The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parameter

tasks
Task[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The function delegate to execute asynchronously when one task in the tasks array completes.

Gibt zurück

Ausnahmen

Eines der Elemente im tasks-Array wurde verworfen.One of the elements in the tasks array has been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationFunction ist null.continuationFunction is null.

Das tasks-Array enthält einen NULL-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Siehe auch

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)

Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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>

Typparameter

TResult

Der Typ des Ergebnisses, das vom continuationFunction-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parameter

tasks
Task[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken CancellationToken CancellationToken CancellationToken

Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.The CancellationToken that will be assigned to the new continuation task.

Gibt zurück

Ausnahmen

Eines der Elemente im tasks-Array wurde freigegeben.One of the elements in the tasks array has been disposed.

- oder --or- Das angegebene CancellationToken wurde bereits freigegeben.The provided CancellationToken has already been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationFunction ist null.continuationFunction is null.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Siehe auch

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)

Erstellt ein Fortsetzungs-Task<TResult>, das nach dem Abschluss einer Aufgabe im bereitgestellten Satz gestartet wird.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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.The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parameter

tasks
Task[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The function delegate to execute asynchronously when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions

Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task<TResult> steuert.The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

Gibt zurück

Ausnahmen

Eines der Elemente im tasks-Array wurde verworfen.One of the elements in the tasks array has been disposed.

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationFunction ist null.continuationFunction is null.

continuationOptions gibt einen ungültigen TaskContinuationOptions-Wert an.continuationOptions specifies an invalid TaskContinuationOptions value.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

Hinweise

Die Noton * und OnlyOn * TaskContinuationOptions, die einschränken, für welche TaskStatus Zustände eine Fortsetzung ausgeführt wird, sind mit Continue-any unzulässig.The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Siehe auch

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) 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.Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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>

Typparameter

TResult

Der Typ des Ergebnisses, das vom continuationFunction-Delegaten zurückgegeben und dem erstellten Task<TResult>-Element zugeordnet wird.The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

Parameter

tasks
Task[]

Das Array von Aufgaben, mit denen fortgefahren wird, wenn eine Aufgabe abgeschlossen ist.The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

Der Funktionsdelegat, der asynchron ausgeführt werden soll, wenn eine Aufgabe im tasks-Array abgeschlossen wird.The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken CancellationToken CancellationToken CancellationToken

Das CancellationToken, das der neuen Fortsetzungsaufgabe zugewiesen wird.The CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions TaskContinuationOptions

Der TaskContinuationOptions-Wert, der das Verhalten des erstellten Fortsetzungs-Task<TResult> steuert.The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

scheduler
TaskScheduler TaskScheduler TaskScheduler TaskScheduler

Das TaskScheduler, das verwendet wird, um das erstellte Fortsetzungs-Task<TResult> zu planen.The TaskScheduler that is used to schedule the created continuation Task<TResult>.

Gibt zurück

Ausnahmen

Das tasks-Array ist null.The tasks array is null.

- oder --or- continuationFunction ist null.continuationFunction is null.

- oder --or- scheduler ist null.scheduler is null.

Das tasks-Array enthält einen null-Wert.The tasks array contains a null value.

- oder --or- Das tasks-Array ist leer.The tasks array is empty.

continuationOptions gibt einen ungültigen TaskContinuationOptions-Wert an.continuationOptions specifies an invalid TaskContinuationOptions value.

Das angegebene CancellationToken wurde bereits freigegeben.The provided CancellationToken has already been disposed.

Hinweise

Die Noton * und OnlyOn * TaskContinuationOptions, die einschränken, für welche TaskStatus Zustände eine Fortsetzung ausgeführt wird, sind mit Continue-any unzulässig.The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

Siehe auch

Gilt für: