TaskFactory.ContinueWhenAny メソッド

定義

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

オーバーロード

名前 説明
ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

ContinueWhenAny(Task[], Action<Task>)

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

パラメーター

tasks
Task[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationAction
Action<Task>

tasks配列内の 1 つのタスクが完了したときに実行するアクション デリゲート。

continuationOptions
TaskContinuationOptions

作成された継続Taskの動作を制御するTaskContinuationOptions値。

返品

新しい継続 Task

例外

tasks配列内の要素の 1 つが破棄されました。

tasks配列はnull

-または-

continuationActionnullです。

continuationOptions は無効な TaskContinuationOptions 値を指定します。

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

注釈

継続が実行されることをTaskContinuationOptions示す制約を持つ NotOn* および OnlyOn* TaskStatusは、ContinueWhenAnyでは無効です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

パラメーター

tasks
Task[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationAction
Action<Task>

tasks配列内の 1 つのタスクが完了したときに実行するアクション デリゲート。

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationToken

continuationOptions
TaskContinuationOptions

作成された継続Taskの動作を制御するTaskContinuationOptions値。

scheduler
TaskScheduler

作成された継続Taskをスケジュールするために使用されるTaskScheduler

返品

新しい継続 Task

例外

tasks配列はnull

-または-

continuationActionnullです。

-または-

schedulernullです。

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

continuationOptions は無効な TaskContinuationOptions 値を指定します。

指定された CancellationToken は既に破棄されています。

注釈

継続が実行されることをTaskContinuationOptions示す制約を持つ NotOn* および OnlyOn* TaskStatusは、ContinueWhenAnyでは無効です。

こちらもご覧ください

適用対象

ContinueWhenAny(Task[], Action<Task>)

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

パラメーター

tasks
Task[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationAction
Action<Task>

tasks配列内の 1 つのタスクが完了したときに実行するアクション デリゲート。

返品

新しい継続 Task

例外

tasks配列内の要素の 1 つが破棄されました。

tasks配列はnull

-または-

continuationAction引数はnull

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

次の例は、 ContinueWhenAnyContinueWhenAllの使用方法を示しています。

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

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

パラメーター

tasks
Task[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationAction
Action<Task>

tasks配列内の 1 つのタスクが完了したときに実行するアクション デリゲート。

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationToken

返品

新しい継続 Task

例外

tasks配列内の要素の 1 つが破棄されました。

-または-

cancellationToken は既に破棄されています。

tasks配列はnull

-または-

continuationAction引数はnull

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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)

型パラメーター

TAntecedentResult

継続元の tasksの結果の型。

TResult

continuationFunction デリゲートによって返され、作成されたTask<TResult>に関連付けられた結果の型。

パラメーター

tasks
Task<TAntecedentResult>[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks配列内の 1 つのタスクが完了したときに非同期的に実行する関数デリゲート。

continuationOptions
TaskContinuationOptions

作成された継続Task<TResult>の動作を制御するTaskContinuationOptions値。

返品

新しい継続 Task<TResult>

例外

tasks配列内の要素の 1 つが破棄されました。

tasks配列はnull

-または-

continuationFunctionnullです。

continuationOptions は無効な TaskContinuationOptions 値を指定します。

tasks配列に null 値が含まれています。

-または-

tasks配列が空です。

注釈

継続が実行されることをTaskContinuationOptions示す制約を持つ NotOn* および OnlyOn* TaskStatusは、ContinueWhenAnyでは無効です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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)

型パラメーター

TAntecedentResult

継続元の tasksの結果の型。

TResult

continuationFunction デリゲートによって返され、作成されたTask<TResult>に関連付けられた結果の型。

パラメーター

tasks
Task<TAntecedentResult>[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks配列内の 1 つのタスクが完了したときに非同期的に実行する関数デリゲート。

返品

新しい継続 Task<TResult>

例外

tasks配列内の要素の 1 つが破棄されました。

tasks配列はnull

-または-

continuationFunctionnullです。

tasks配列に null 値が含まれています。

-または-

tasks配列が空です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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)

型パラメーター

TAntecedentResult

継続元の tasksの結果の型。

TResult

continuationFunction デリゲートによって返され、作成されたTask<TResult>に関連付けられた結果の型。

パラメーター

tasks
Task<TAntecedentResult>[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks配列内の 1 つのタスクが完了したときに非同期的に実行する関数デリゲート。

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationToken

返品

新しい継続 Task<TResult>

例外

tasks配列内の要素の 1 つが破棄されました。

-または-

指定された CancellationToken は既に破棄されています。

tasks配列はnull

-または-

continuationFunctionnullです。

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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)

型パラメーター

TAntecedentResult

継続元の tasksの結果の型。

TResult

continuationFunction デリゲートによって返され、作成されたTask<TResult>に関連付けられた結果の型。

パラメーター

tasks
Task<TAntecedentResult>[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks配列内の 1 つのタスクが完了したときに非同期的に実行する関数デリゲート。

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationToken

continuationOptions
TaskContinuationOptions

作成された継続Task<TResult>の動作を制御するTaskContinuationOptions値。

scheduler
TaskScheduler

作成された継続Task<TResult>をスケジュールするために使用されるTaskScheduler

返品

新しい継続 Task<TResult>

例外

tasks配列はnull

-または-

continuationFunctionnullです。

-または-

schedulernullです。

tasks配列に null 値が含まれています。

-または-

tasks配列が空です。

continuationOptions は無効な TaskContinuationOptions 値を指定します。

指定された CancellationToken は既に破棄されています。

注釈

継続が実行されることをTaskContinuationOptions示す制約を持つ NotOn* および OnlyOn* TaskStatusは、ContinueWhenAnyでは無効です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

型パラメーター

TAntecedentResult

継続元の tasksの結果の型。

パラメーター

tasks
Task<TAntecedentResult>[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationAction
Action<Task<TAntecedentResult>>

tasks配列内の 1 つのタスクが完了したときに実行するアクション デリゲート。

返品

新しい継続 Task

例外

tasks配列内の要素の 1 つが破棄されました。

tasks配列はnull

-または-

continuationActionnullです。

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

型パラメーター

TAntecedentResult

継続元の tasksの結果の型。

パラメーター

tasks
Task<TAntecedentResult>[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationAction
Action<Task<TAntecedentResult>>

tasks配列内の 1 つのタスクが完了したときに実行するアクション デリゲート。

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationToken

返品

新しい継続 Task

例外

tasks配列内の要素の 1 つが破棄されました。

-または-

指定された CancellationToken は既に破棄されています。

tasks配列はnull

-または-

continuationActionnullです。

tasks配列に null 値が含まれています。

-または-

tasks配列が空です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

型パラメーター

TAntecedentResult

継続元の tasksの結果の型。

パラメーター

tasks
Task<TAntecedentResult>[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationAction
Action<Task<TAntecedentResult>>

tasks配列内の 1 つのタスクが完了したときに実行するアクション デリゲート。

continuationOptions
TaskContinuationOptions

作成された継続Taskの動作を制御するTaskContinuationOptions値。

返品

新しい継続 Task

例外

tasks配列内の要素の 1 つが破棄されました。

tasks配列はnull

-または-

continuationActionnullです。

continuationOptions は無効な TaskContinuationOptions 値を指定します。

tasks配列に null 値が含まれています。

-または-

tasks配列が空です。

注釈

継続が実行されることをTaskContinuationOptions示す制約を持つ NotOn* および OnlyOn* TaskStatusは、ContinueWhenAnyでは無効です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task を作成します。

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

型パラメーター

TAntecedentResult

継続元の tasksの結果の型。

パラメーター

tasks
Task<TAntecedentResult>[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationAction
Action<Task<TAntecedentResult>>

tasks配列内の 1 つのタスクが完了したときに実行するアクション デリゲート。

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationToken

continuationOptions
TaskContinuationOptions

作成された継続Taskの動作を制御するTaskContinuationOptions値。

scheduler
TaskScheduler

作成された継続Task<TResult>をスケジュールするために使用されるTaskScheduler

返品

新しい継続 Task

例外

tasks配列はnull

-または-

continuationActionnullです。

-または-

paramref name="scheduler" /> は null

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

continuationOptions は無効な TaskContinuationOptions 値を指定します。

指定された CancellationToken は既に破棄されています。

注釈

継続が実行されることをTaskContinuationOptions示す制約を持つ NotOn* および OnlyOn* TaskStatusは、ContinueWhenAnyでは無効です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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)

型パラメーター

TResult

continuationFunction デリゲートによって返され、作成されたTask<TResult>に関連付けられた結果の型。

パラメーター

tasks
Task[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationFunction
Func<Task,TResult>

tasks配列内の 1 つのタスクが完了したときに非同期的に実行する関数デリゲート。

返品

新しい継続 Task<TResult>

例外

tasks配列内の要素の 1 つが破棄されました。

tasks配列はnull

-または-

continuationFunctionnullです。

tasks配列に null 値が含まれています。

-または-

tasks配列が空です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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)

型パラメーター

TResult

continuationFunction デリゲートによって返され、作成されたTask<TResult>に関連付けられた結果の型。

パラメーター

tasks
Task[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationFunction
Func<Task,TResult>

tasks配列内の 1 つのタスクが完了したときに非同期的に実行する関数デリゲート。

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationToken

返品

新しい継続 Task<TResult>

例外

tasks配列内の要素の 1 つが破棄されました。

-または-

指定された CancellationToken は既に破棄されています。

tasks配列はnull

-または-

continuationFunctionnullです。

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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)

型パラメーター

TResult

continuationFunction デリゲートによって返され、作成されたTask<TResult>に関連付けられた結果の型。

パラメーター

tasks
Task[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationFunction
Func<Task,TResult>

tasks配列内の 1 つのタスクが完了したときに非同期的に実行する関数デリゲート。

continuationOptions
TaskContinuationOptions

作成された継続Task<TResult>の動作を制御するTaskContinuationOptions値。

返品

新しい継続 Task<TResult>

例外

tasks配列内の要素の 1 つが破棄されました。

tasks配列はnull

-または-

continuationFunctionnullです。

continuationOptions は無効な TaskContinuationOptions 値を指定します。

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

注釈

継続が実行されることをTaskContinuationOptions示す制約を持つ NotOn* および OnlyOn* TaskStatusは、ContinueWhenAnyでは無効です。

こちらもご覧ください

適用対象

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

指定されたセット内のタスクの完了時に開始される継続 Task<TResult> を作成します。

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)

型パラメーター

TResult

continuationFunction デリゲートによって返され、作成されたTask<TResult>に関連付けられた結果の型。

パラメーター

tasks
Task[]

1 つのタスクが完了したときに続行するタスクの配列。

continuationFunction
Func<Task,TResult>

tasks配列内の 1 つのタスクが完了したときに非同期的に実行する関数デリゲート。

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationToken

continuationOptions
TaskContinuationOptions

作成された継続Task<TResult>の動作を制御するTaskContinuationOptions値。

scheduler
TaskScheduler

作成された継続Task<TResult>をスケジュールするために使用されるTaskScheduler

返品

新しい継続 Task<TResult>

例外

tasks配列はnull

-または-

continuationFunctionnullです。

-または-

schedulernullです。

tasks配列には、null値が含まれています。

-または-

tasks配列が空です。

continuationOptions は無効な TaskContinuationOptions 値を指定します。

指定された CancellationToken は既に破棄されています。

注釈

継続が実行されることをTaskContinuationOptions示す制約を持つ NotOn* および OnlyOn* TaskStatusは、ContinueWhenAnyでは無効です。

こちらもご覧ください

適用対象