TaskFactory.ContinueWhenAny メソッド

定義

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

オーバーロード

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny(Task[], Action<Task>)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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>)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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>>)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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

パラメーター

tasks
Task[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

tasks 配列内のいずれかのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions

作成された継続 TaskContinuationOptions の動作を制御する Task 値。The TaskContinuationOptions value that controls the behavior of the created continuation Task.

戻り値

新しい継続 TaskThe new continuation Task.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

tasks 配列が null です。The tasks array is null.

- または --or- continuationActionnullです。continuationAction is null.

continuationOptions に無効な TaskContinuationOptions 値が指定されています。continuationOptions specifies an invalid TaskContinuationOptions value.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

または-or- tasks 配列が空です。The tasks array is empty.

注釈

NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAny では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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

パラメーター

tasks
Task[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

tasks 配列内のいずれかのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationTokenThe CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions

作成された継続 TaskContinuationOptions の動作を制御する Task 値。The TaskContinuationOptions value that controls the behavior of the created continuation Task.

scheduler
TaskScheduler

作成された継続 TaskScheduler をスケジュールするときに使用する TaskThe TaskScheduler that is used to schedule the created continuation Task.

戻り値

新しい継続 TaskThe new continuation Task.

例外

tasks 配列が null です。The tasks array is null.

- または --or- continuationActionnullです。continuationAction is null.

- または --or- schedulernullです。scheduler is null.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

continuationOptions に無効な TaskContinuationOptions 値が指定されています。continuationOptions specifies an invalid TaskContinuationOptions value.

指定された CancellationToken は既に破棄されています。The provided CancellationToken has already been disposed.

注釈

NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAny では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

こちらもご覧ください

ContinueWhenAny(Task[], Action<Task>)

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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

パラメーター

tasks
Task[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

tasks 配列内のいずれかのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when one task in the tasks array completes.

戻り値

新しい継続 TaskThe new continuation Task.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

tasks 配列が null です。The tasks array is null.

または-or- continuationAction 引数が null です。The continuationAction argument is null.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

次の例は、ContinueWhenAny および ContinueWhenAll を使用する方法を示しています。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

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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

パラメーター

tasks
Task[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationAction
Action<Task>

tasks 配列内のいずれかのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationTokenThe CancellationToken that will be assigned to the new continuation task.

戻り値

新しい継続 TaskThe new continuation Task.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

- または --or- cancellationToken が既に破棄されています。cancellationToken has already been disposed.

tasks 配列が null です。The tasks array is null.

または-or- continuationAction 引数が null です。The continuationAction argument is null.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

または-or- tasks 配列が空です。The tasks array is empty .

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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)

型パラメーター

TAntecedentResult

継続元の tasks の結果の型。The type of the result of the antecedent tasks.

TResult

continuationFunction デリゲートによって返され、作成された Task<TResult> に関連付けられている結果の型。The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

パラメーター

tasks
Task<TAntecedentResult>[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks 配列内のいずれかのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions

作成された継続 TaskContinuationOptions の動作を制御する Task<TResult> 値。The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

戻り値

新しい継続 Task<TResult>The new continuation Task<TResult>.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

tasks 配列が null です。The tasks array is null.

- または --or- continuationFunctionnull です。continuationFunction is null.

continuationOptions に無効な TaskContinuationOptions 値が指定されています。continuationOptions specifies an invalid TaskContinuationOptions value.

tasks 配列は null 値を含みます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

注釈

NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAny では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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)

型パラメーター

TAntecedentResult

継続元の tasks の結果の型。The type of the result of the antecedent tasks.

TResult

continuationFunction デリゲートによって返され、作成された Task<TResult> に関連付けられている結果の型。The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

パラメーター

tasks
Task<TAntecedentResult>[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks 配列内のいずれかのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when one task in the tasks array completes.

戻り値

新しい継続 Task<TResult>The new continuation Task<TResult>.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

tasks 配列が null です。The tasks array is null.

- または --or- continuationFunctionnull です。continuationFunction is null.

tasks 配列は null 値を含みます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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>

型パラメーター

TAntecedentResult

継続元の tasks の結果の型。The type of the result of the antecedent tasks.

TResult

continuationFunction デリゲートによって返され、作成された Task<TResult> に関連付けられている結果の型。The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

パラメーター

tasks
Task<TAntecedentResult>[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks 配列内のいずれかのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationTokenThe CancellationToken that will be assigned to the new continuation task.

戻り値

新しい継続 Task<TResult>The new continuation Task<TResult>.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

- または --or- 指定された CancellationToken は既に破棄されています。The provided CancellationToken has already been disposed.

tasks 配列が null です。The tasks array is null.

- または --or- continuationFunctionnull です。continuationFunction is null.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

または-or- tasks 配列が空です。The tasks array is empty.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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>

型パラメーター

TAntecedentResult

継続元の tasks の結果の型。The type of the result of the antecedent tasks.

TResult

continuationFunction デリゲートによって返され、作成された Task<TResult> に関連付けられている結果の型。The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

パラメーター

tasks
Task<TAntecedentResult>[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks 配列内のいずれかのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationTokenThe CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions

作成された継続 TaskContinuationOptions の動作を制御する Task<TResult> 値。The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

scheduler
TaskScheduler

作成された継続 TaskScheduler をスケジュールするときに使用する Task<TResult>The TaskScheduler that is used to schedule the created continuation Task<TResult>.

戻り値

新しい継続 Task<TResult>The new continuation Task<TResult>.

例外

tasks 配列が null です。The tasks array is null.

- または --or- continuationFunctionnullです。continuationFunction is null.

- または --or- schedulernullです。scheduler is null.

tasks 配列は null 値を含みます。The tasks array contains a null value.

または-or- tasks 配列が空です。The tasks array is empty.

continuationOptions に無効な TaskContinuationOptions 値が指定されています。continuationOptions specifies an invalid TaskContinuationOptions value.

指定された CancellationToken は既に破棄されています。The provided CancellationToken has already been disposed.

注釈

NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAny では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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

型パラメーター

TAntecedentResult

継続元の tasks の結果の型。The type of the result of the antecedent tasks.

パラメーター

tasks
Task<TAntecedentResult>[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

tasks 配列内のいずれかのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when one task in the tasks array completes.

戻り値

新しい継続 TaskThe new continuation Task.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

tasks 配列が null です。The tasks array is null.

- または --or- continuationActionnull です。continuationAction is null.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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

型パラメーター

TAntecedentResult

継続元の tasks の結果の型。The type of the result of the antecedent tasks.

パラメーター

tasks
Task<TAntecedentResult>[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

tasks 配列内のいずれかのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationTokenThe CancellationToken that will be assigned to the new continuation task.

戻り値

新しい継続 TaskThe new continuation Task.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

- または --or- 指定された CancellationToken は既に破棄されています。The provided CancellationToken has already been disposed.

tasks 配列が null です。The tasks array is null.

- または --or- continuationActionnull です。continuationAction is null.

tasks 配列は null 値を含みます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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

型パラメーター

TAntecedentResult

継続元の tasks の結果の型。The type of the result of the antecedent tasks.

パラメーター

tasks
Task<TAntecedentResult>[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

tasks 配列内のいずれかのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions

作成された継続 TaskContinuationOptions の動作を制御する Task 値。The TaskContinuationOptions value that controls the behavior of the created continuation Task.

戻り値

新しい継続 TaskThe new continuation Task.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

tasks 配列が null です。The tasks array is null.

または-or- continuationActionnullです。continuationAction is null.

continuationOptions に無効な TaskContinuationOptions 値が指定されています。continuationOptions specifies an invalid TaskContinuationOptions value.

tasks 配列は null 値を含みます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

注釈

NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAny では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task を作成します。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

型パラメーター

TAntecedentResult

継続元の tasks の結果の型。The type of the result of the antecedent tasks.

パラメーター

tasks
Task<TAntecedentResult>[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationAction
Action<Task<TAntecedentResult>>

tasks 配列内のいずれかのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when one task in the tasks array completes.

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationTokenThe CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions

作成された継続 TaskContinuationOptions の動作を制御する Task 値。The TaskContinuationOptions value that controls the behavior of the created continuation Task.

scheduler
TaskScheduler

作成された継続 TaskScheduler をスケジュールするときに使用する Task<TResult>The TaskScheduler that is used to schedule the created continuation Task<TResult>.

戻り値

新しい継続 TaskThe new continuation Task.

例外

tasks 配列が null です。The tasks array is null.

- または --or- continuationActionnullです。continuationAction is null.

または-or- paramref name="scheduler" /> は null です。paramref name="scheduler" /> is null.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

continuationOptions に無効な TaskContinuationOptions 値が指定されています。continuationOptions specifies an invalid TaskContinuationOptions value.

指定された CancellationToken は既に破棄されています。The provided CancellationToken has already been disposed.

注釈

NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAny では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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)

型パラメーター

TResult

continuationFunction デリゲートによって返され、作成された Task<TResult> に関連付けられている結果の型。The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

パラメーター

tasks
Task[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

tasks 配列内のいずれかのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when one task in the tasks array completes.

戻り値

新しい継続 Task<TResult>The new continuation Task<TResult>.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

tasks 配列が null です。The tasks array is null.

- または --or- continuationFunctionnullです。continuationFunction is null.

tasks 配列は null 値を含みます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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>

型パラメーター

TResult

continuationFunction デリゲートによって返され、作成された Task<TResult> に関連付けられている結果の型。The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

パラメーター

tasks
Task[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

tasks 配列内のいずれかのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationTokenThe CancellationToken that will be assigned to the new continuation task.

戻り値

新しい継続 Task<TResult>The new continuation Task<TResult>.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

または-or- 指定された CancellationToken は既に破棄されています。The provided CancellationToken has already been disposed.

tasks 配列が null です。The tasks array is null.

- または --or- continuationFunctionnull です。continuationFunction is null.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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)

型パラメーター

TResult

continuationFunction デリゲートによって返され、作成された Task<TResult> に関連付けられている結果の型。The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

パラメーター

tasks
Task[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

tasks 配列内のいずれかのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when one task in the tasks array completes.

continuationOptions
TaskContinuationOptions

作成された継続 TaskContinuationOptions の動作を制御する Task<TResult> 値。The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

戻り値

新しい継続 Task<TResult>The new continuation Task<TResult>.

例外

tasks 配列の要素の 1 つは破棄されました。One of the elements in the tasks array has been disposed.

tasks 配列が null です。The tasks array is null.

または-or- continuationFunctionnullです。continuationFunction is null.

continuationOptions に無効な TaskContinuationOptions 値が指定されています。continuationOptions specifies an invalid TaskContinuationOptions value.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

- または --or- tasks 配列が空です。The tasks array is empty.

注釈

NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAny では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

こちらもご覧ください

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

指定された一連のタスクのうち任意のタスクが完了したときに開始される継続 Task<TResult> を作成します。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>

型パラメーター

TResult

continuationFunction デリゲートによって返され、作成された Task<TResult> に関連付けられている結果の型。The type of the result that is returned by the continuationFunction delegate and associated with the created Task<TResult>.

パラメーター

tasks
Task[]

いずれかのタスクが完了したときに開始される継続タスクの配列。The array of tasks from which to continue when one task completes.

continuationFunction
Func<Task,TResult>

tasks 配列内のいずれかのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when one task in the tasks array completes.

cancellationToken
CancellationToken

新しい継続タスクに割り当てられる CancellationTokenThe CancellationToken that will be assigned to the new continuation task.

continuationOptions
TaskContinuationOptions

作成された継続 TaskContinuationOptions の動作を制御する Task<TResult> 値。The TaskContinuationOptions value that controls the behavior of the created continuation Task<TResult>.

scheduler
TaskScheduler

作成された継続 TaskScheduler をスケジュールするときに使用する Task<TResult>The TaskScheduler that is used to schedule the created continuation Task<TResult>.

戻り値

新しい継続 Task<TResult>The new continuation Task<TResult>.

例外

tasks 配列が null です。The tasks array is null.

- または --or- continuationFunctionnullです。continuationFunction is null.

- または --or- schedulernullです。scheduler is null.

tasks 配列には null の値が含まれます。The tasks array contains a null value.

または-or- tasks 配列が空です。The tasks array is empty.

continuationOptions に無効な TaskContinuationOptions 値が指定されています。continuationOptions specifies an invalid TaskContinuationOptions value.

指定された CancellationToken は既に破棄されています。The provided CancellationToken has already been disposed.

注釈

NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAny では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAny.

こちらもご覧ください

適用対象