TaskFactory.ContinueWhenAll メソッド
定義
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
オーバーロード
ContinueWhenAll(Task[], Action<Task[]>) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll(Task[], Action<Task[]>, TaskContinuationOptions) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, TaskContinuationOptions) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, TaskContinuationOptions) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, TaskContinuationOptions) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed. |
ContinueWhenAll(Task[], Action<Task[]>)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task ^> ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAll (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task[]> -> System.Threading.Tasks.Task
Public Function ContinueWhenAll (tasks As Task(), continuationAction As Action(Of Task())) As Task
パラメーター
- tasks
- Task[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when all tasks in the tasks
array have completed.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element 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 is empty or contains a null value.
例
次の例では、正規表現を使用して一連のテキストファイル内の単語数をカウントする個別のタスクを起動します。The following example launches separate tasks that use a regular expression to count the number of words in a set of text files. @No__t-0 メソッドは、すべての継続元タスクが完了したときに合計単語数を表示するタスクを起動するために使用されます。The ContinueWhenAll method is used to launch a task that displays the total word count when all the antecedent tasks have completed.
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string[] filenames = { "chapter1.txt", "chapter2.txt",
"chapter3.txt", "chapter4.txt",
"chapter5.txt" };
string pattern = @"\b\w+\b";
var tasks = new List<Task>();
int totalWords = 0;
// Determine the number of words in each file.
foreach (var filename in filenames)
tasks.Add( Task.Factory.StartNew( fn => { if (! File.Exists(fn.ToString()))
throw new FileNotFoundException("{0} does not exist.", filename);
StreamReader sr = new StreamReader(fn.ToString());
String content = sr.ReadToEnd();
sr.Close();
int words = Regex.Matches(content, pattern).Count;
Interlocked.Add(ref totalWords, words);
Console.WriteLine("{0,-25} {1,6:N0} words", fn, words); },
filename));
var finalTask = Task.Factory.ContinueWhenAll(tasks.ToArray(), wordCountTasks => {
int nSuccessfulTasks = 0;
int nFailed = 0;
int nFileNotFound = 0;
foreach (var t in wordCountTasks) {
if (t.Status == TaskStatus.RanToCompletion)
nSuccessfulTasks++;
if (t.Status == TaskStatus.Faulted) {
nFailed++;
t.Exception.Handle( (e) => {
if (e is FileNotFoundException)
nFileNotFound++;
return true;
});
}
}
Console.WriteLine("\n{0,-25} {1,6} total words\n",
String.Format("{0} files", nSuccessfulTasks),
totalWords);
if (nFailed > 0) {
Console.WriteLine("{0} tasks failed for the following reasons:", nFailed);
Console.WriteLine(" File not found: {0}", nFileNotFound);
if (nFailed != nFileNotFound)
Console.WriteLine(" Other: {0}", nFailed - nFileNotFound);
}
});
finalTask.Wait();
}
}
// The example displays output like the following:
// chapter2.txt 1,585 words
// chapter1.txt 4,012 words
// chapter5.txt 4,660 words
// chapter3.txt 7,481 words
//
// 4 files 17738 total words
//
// 1 tasks failed for the following reasons:
// File not found: 1
Imports System.Collections.Generic
Imports System.IO
Imports System.Threading
Imports System.Threading.Tasks
Imports System.Text.RegularExpressions
Module Example
Dim totalWords As Integer = 0
Public Sub Main()
Dim filenames() As String = { "chapter1.txt", "chapter2.txt",
"chapter3.txt", "chapter4.txt",
"chapter5.txt" }
Dim pattern As String = "\b\w+\b"
Dim tasks As New List(Of Task)()
' Determine the number of words in each file.
For Each filename In filenames
tasks.Add(Task.Factory.StartNew( Sub(fn)
If Not File.Exists(filename)
Throw New FileNotFoundException("{0} does not exist.", filename)
End If
Dim sr As New StreamReader(fn.ToString())
Dim content As String = sr.ReadToEnd()
sr.Close()
Dim words As Integer = Regex.Matches(content, pattern).Count
Interlocked.Add(totalWords, words)
Console.WriteLine("{0,-25} {1,6:N0} words", fn, words)
End Sub, filename))
Next
Dim finalTask As Task = Task.Factory.ContinueWhenAll(tasks.ToArray(),
Sub(wordCountTasks As Task() )
Dim nSuccessfulTasks As Integer = 0
Dim nFailed As Integer = 0
Dim nFileNotFound As Integer = 0
For Each t In wordCountTasks
If t.Status = TaskStatus.RanToCompletion Then _
nSuccessfulTasks += 1
If t.Status = TaskStatus.Faulted Then
nFailed += 1
t.Exception.Handle(Function(e As Exception)
If TypeOf e Is FileNotFoundException Then
nFileNotFound += 1
End If
Return True
End Function)
End If
Next
Console.WriteLine()
Console.WriteLine("{0,-25} {1,6} total words",
String.Format("{0} files", nSuccessfulTasks),
totalWords)
If nFailed > 0 Then
Console.WriteLine()
Console.WriteLine("{0} tasks failed for the following reasons:", nFailed)
Console.WriteLine(" File not found: {0}", nFileNotFound)
If nFailed <> nFileNotFound Then
Console.WriteLine(" Other: {0}", nFailed - nFileNotFound)
End If
End If
End Sub)
finalTask.Wait()
End Sub
Private Sub DisplayResult(wordCountTasks As Task())
End Sub
End Module
' The example displays output like the following:
' chapter2.txt 1,585 words
' chapter1.txt 4,012 words
' chapter5.txt 4,660 words
' chapter3.txt 7,481 words
'
' 4 files 17738 total words
'
' 1 tasks failed for the following reasons:
' File not found: 1
継続タスクの Task.Wait メソッドの呼び出しでは、継続元タスクによってスローされた例外を処理できません。そのため、この例では、各継続元タスクの Task.Status プロパティを調べて、タスクが成功したかどうかを確認します。The call to the continuation task's Task.Wait method does not allow it to handle exceptions thrown by the antecedent tasks, so the example examines the Task.Status property of each antecedent task to determine whether the task succeeded.
注釈
@No__t-0 メソッドは、完了ステータスに関係なく、tasks
配列内のすべてのタスクが完了したときに continuationAction
デリゲートを実行します。The ContinueWhenAll method executes the continuationAction
delegate when all tasks in the tasks
array have completed, regardless of their completion status.
@No__t 0 配列のタスクによってスローされた例外は、構造化例外処理によって継続タスクで使用できません。Exceptions thrown by tasks in the tasks
array are not available to the continuation task through structured exception handling. @No__t-1 配列の各タスクの Task.Exception プロパティを調べることで、スローされた例外を特定できます。You can determine which exceptions were thrown by examining the Task.Exception property of each task in the tasks
array. 構造化例外処理を使用して、@no__t 0 の配列のタスクによってスローされた例外を処理するには、Task.WaitAll(Task[]) メソッドを呼び出します。To use structured exception handling to handle exceptions thrown by tasks in the tasks
array, call the Task.WaitAll(Task[]) method.
こちらもご覧ください
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task ^> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAll (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAll : 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.
tasks
配列内のすべてのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when all tasks in the tasks
array have completed.
- cancellationToken
- CancellationToken
新しい継続タスクに割り当てるキャンセル トークン。The cancellation token to assign to the new continuation task.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
または-or-
cancellationToken
を作成した CancellationTokenSource は既に破棄されています。The CancellationTokenSource that created 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 is empty or contains a null value.
例
次の例では、キャンセルトークンを作成します。このトークンは、一連のテキストファイル内の単語数をカウントするために正規表現を使用する別個のタスクに渡します。The following example creates a cancellation token, which it passes to separate tasks that use a regular expression to count the number of words in a set of text files. ファイルが見つからない場合は、キャンセルトークンが設定されます。The cancellation token is set if a file cannot be found. @No__t-0 メソッドは、すべての継続元タスクが完了したときに合計単語数を表示するタスクを起動するために使用されます。The ContinueWhenAll(Task[], Action{Task[]}, CancellationToken)
method is used to launch a task that displays the total word count when all the antecedent tasks have completed. キャンセルトークンが設定されている場合は、1つまたは複数のタスクが取り消されたことを示します。 AggregateException 例外を処理し、エラーメッセージを表示します。If the cancellation token is set, which indicates that one or more tasks have been cancelled, it handles the AggregateException exception and displays an error message.
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string[] filenames = { "chapter1.txt", "chapter2.txt",
"chapter3.txt", "chapter4.txt",
"chapter5.txt" };
string pattern = @"\b\w+\b";
var tasks = new List<Task>();
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;
int totalWords = 0;
// Determine the number of words in each file.
foreach (var filename in filenames)
tasks.Add( Task.Factory.StartNew( fn => { token.ThrowIfCancellationRequested();
if (! File.Exists(fn.ToString())) {
source.Cancel();
token.ThrowIfCancellationRequested();
}
StreamReader sr = new StreamReader(fn.ToString());
String content = sr.ReadToEnd();
sr.Close();
int words = Regex.Matches(content, pattern).Count;
Interlocked.Add(ref totalWords, words);
Console.WriteLine("{0,-25} {1,6:N0} words", fn, words); },
filename, token));
var finalTask = Task.Factory.ContinueWhenAll(tasks.ToArray(), wordCountTasks => {
if (! token.IsCancellationRequested)
Console.WriteLine("\n{0,-25} {1,6} total words\n",
String.Format("{0} files", wordCountTasks.Length),
totalWords);
}, token);
try {
finalTask.Wait();
}
catch (AggregateException ae) {
foreach (Exception inner in ae.InnerExceptions)
if (inner is TaskCanceledException)
Console.WriteLine("\nFailure to determine total word count: a task was cancelled.");
else
Console.WriteLine("\nFailure caused by {0}", inner.GetType().Name);
}
finally {
source.Dispose();
}
}
}
// The example displays output like the following:
// chapter2.txt 1,585 words
// chapter1.txt 4,012 words
//
// Failure to determine total word count: a task was cancelled.
Imports System.Collections.Generic
Imports System.IO
Imports System.Threading
Imports System.Threading.Tasks
Imports System.Text.RegularExpressions
Module Example
Public Sub Main()
Dim filenames() As String= { "chapter1.txt", "chapter2.txt",
"chapter3.txt", "chapter4.txt",
"chapter5.txt" }
Dim pattern As String = "\b\w+\b"
Dim tasks As New List(Of Task)()
Dim source As New CancellationTokenSource()
Dim token As CancellationToken = source.Token
Dim totalWords As Integer = 0
' Determine the number of words in each file.
For Each filename In filenames
tasks.Add( Task.Factory.StartNew( Sub(obj As Object)
Dim fn As String = CStr(obj)
token.ThrowIfCancellationRequested()
If Not File.Exists(fn) Then
source.Cancel()
token.ThrowIfCancellationRequested()
End If
Dim sr As New StreamReader(fn.ToString())
Dim content As String = sr.ReadToEnd()
sr.Close()
Dim words As Integer = Regex.Matches(content, pattern).Count
Interlocked.Add(totalWords, words)
Console.WriteLine("{0,-25} {1,6:N0} words", fn, words)
End Sub, filename, token))
Next
Dim finalTask As Task = Task.Factory.ContinueWhenAll(tasks.ToArray(),
Sub(wordCountTasks As Task())
If Not token.IsCancellationRequested Then
Console.WriteLine("\n{0,-25} {1,6} total words\n",
String.Format("{0} files", wordCountTasks.Length),
totalWords)
End If
End Sub, token)
Try
finalTask.Wait()
Catch ae As AggregateException
For Each inner In ae.InnerExceptions
Console.WriteLine()
If TypeOf inner Is TaskCanceledException
Console.WriteLine("Failure to determine total word count: a task was cancelled.")
Else
Console.WriteLine("Failure caused by {0}", inner.GetType().Name)
End If
Next
Finally
source.Dispose()
End Try
End Sub
End Module
' The example displays output like the following:
' chapter2.txt 1,585 words
' chapter1.txt 4,012 words
'
' Failure to determine total word count: a task was cancelled.
注釈
このメソッドは、完了ステータスに関係なく、tasks
配列内のすべてのタスクが完了したときに @no__t 0 デリゲートを実行します。This method executes the continuationAction
delegate when all tasks in the tasks
array have completed, regardless of their completion status.
こちらもご覧ください
ContinueWhenAll(Task[], Action<Task[]>, TaskContinuationOptions)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task ^> ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAll (System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task[]> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task[]> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAll (tasks As Task(), continuationAction As Action(Of Task()), continuationOptions As TaskContinuationOptions) As Task
パラメーター
- tasks
- Task[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when all tasks in the tasks
array have completed.
- continuationOptions
- TaskContinuationOptions
新しい継続タスクの動作を制御する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that control the behavior of the new continuation task. NotOn* メンバーと OnlyOn* メンバーはサポートされていません。The NotOn* and OnlyOn* members are not supported.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
tasks
配列が null
です。The tasks
array is null
.
または-or-
continuationAction
引数が null
です。The continuationAction
argument is null
.
continuationOptions
引数に無効な値が指定されています。The continuationOptions
argument specifies an invalid value.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
注釈
NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAll
では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll
.
こちらもご覧ください
ContinueWhenAll(Task[], Action<Task[]>, CancellationToken, TaskContinuationOptions, TaskScheduler)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task ^> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task ContinueWhenAll (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.ContinueWhenAll : 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.
tasks
配列内のすべてのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when all tasks in the tasks
array have completed.
- cancellationToken
- CancellationToken
新しい継続タスクに割り当てるキャンセル トークン。The cancellation token to assign to the new continuation task.
- continuationOptions
- TaskContinuationOptions
新しい継続タスクの動作を制御する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that control the behavior of the new continuation task.
- scheduler
- TaskScheduler
新しい継続タスクをスケジュールするときに使用するオブジェクト。The object that is used to schedule the new continuation task.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列が null
です。The tasks
array is null
.
- または --or-
continuationAction
引数が null
です。The continuationAction
argument is null
.
- または --or-
scheduler
引数が null
です。The scheduler
argument is null
.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
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 の状態が制限されますが、ContinueWhenAll
では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll
.
こちらもご覧ください
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<cli::array <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> ContinueWhenAll<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.ContinueWhenAll : 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
デリゲートによって返され、作成されたタスクに関連付けられている結果の型。The type of the result that is returned by the continuationFunction
delegate and associated with the created task.
パラメーター
- tasks
- Task<TAntecedentResult>[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when all tasks in the tasks
array have completed.
- cancellationToken
- CancellationToken
新しい継続タスクに割り当てるキャンセル トークン。The cancellation token to assign to the new continuation task.
- continuationOptions
- TaskContinuationOptions
新しい継続タスクの動作を制御する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that control the behavior of the new continuation task. NotOn* メンバーと OnlyOn* メンバーはサポートされていません。The NotOn* and OnlyOn* members are not supported.
- scheduler
- TaskScheduler
新しい継続タスクをスケジュールするときに使用するオブジェクト。The object that is used to schedule the new continuation task.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列が null
です。The tasks
array is null
.
または-or-
continuationFunction
引数が null
です。The continuationFunction
argument is null
.
- または --or-
scheduler
引数が null
です。The scheduler
argument is null
.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
continuationOptions
引数に無効な値が指定されています。The continuationOptions
argument specifies an invalid value.
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
- または --or-
cancellationToken
を作成した CancellationTokenSource は既に破棄されています。The CancellationTokenSource that created cancellationToken
has already been disposed.
注釈
NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAll
では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll
.
こちらもご覧ください
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, TaskContinuationOptions)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TAntecedentResult,TResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>[],TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>[], 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(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
デリゲートによって返され、作成されたタスクに関連付けられている結果の型。The type of the result that is returned by the continuationFunction
delegate and associated with the created task.
パラメーター
- tasks
- Task<TAntecedentResult>[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when all tasks in the tasks
array have completed.
- continuationOptions
- TaskContinuationOptions
新しい継続タスクの動作を制御する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that control the behavior of the new continuation task. NotOn* メンバーと OnlyOn* メンバーはサポートされていません。The NotOn* and OnlyOn* members are not supported.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
tasks
配列が null
です。The tasks
array is null
.
- または --or-
continuationFunction
引数が null
です。The continuationFunction
argument is null
.
continuationOptions
引数に無効な値が指定されています。The continuationOptions
argument specifies an invalid value.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
注釈
NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAll
では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll
.
こちらもご覧ください
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TAntecedentResult,TResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>[],TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAll : 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
デリゲートによって返され、作成されたタスクに関連付けられている結果の型。The type of the result that is returned by the continuationFunction
delegate and associated with the created task.
パラメーター
- tasks
- Task<TAntecedentResult>[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when all tasks in the tasks
array have completed.
- cancellationToken
- CancellationToken
新しい継続タスクに割り当てるキャンセル トークン。The cancellation token to assign to the new continuation task.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
- または --or-
cancellationToken
を作成した CancellationTokenSource は既に破棄されています。The CancellationTokenSource that created cancellationToken
has already been disposed.
tasks
配列が null
です。The tasks
array is null
.
- または --or-
continuationFunction
引数が null
です。The continuationFunction
argument is null
.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
こちらもご覧ください
ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TAntecedentResult,TResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>[],TResult> continuationFunction);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>[], 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(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
デリゲートによって返され、作成されたタスクに関連付けられている結果の型。The type of the result that is returned by the continuationFunction
delegate and associated with the created task.
パラメーター
- tasks
- Task<TAntecedentResult>[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when all tasks in the tasks
array have completed.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
tasks
配列が null
です。The tasks
array is null
.
- または --or-
continuationFunction
引数が null
です。The continuationFunction
argument is null
.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
こちらもご覧ください
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken, TaskContinuationOptions, TaskScheduler)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<cli::array <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 ContinueWhenAll<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.ContinueWhenAll : 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.
tasks
配列内のすべてのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when all tasks in the tasks
array have completed.
- cancellationToken
- CancellationToken
新しい継続タスクに割り当てるキャンセル トークン。The cancellation token to assign to the new continuation task.
- continuationOptions
- TaskContinuationOptions
新しい継続タスクの動作を制御する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that control the behavior of the new continuation task. NotOn* メンバーと OnlyOn* メンバーはサポートされていません。The NotOn* and OnlyOn* members are not supported.
- scheduler
- TaskScheduler
新しい継続タスクをスケジュールするときに使用するオブジェクト。The object that is used to schedule the new continuation task.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列が null
です。The tasks
array is null
.
または-or-
continuationAction
引数が null
です。The continuationAction
argument is null
.
または-or-
scheduler
引数が null
です。The scheduler
argument is null
.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
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 の状態が制限されますが、ContinueWhenAll
では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll
.
こちらもご覧ください
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, TaskContinuationOptions)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAll<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>[]> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>[]> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAll(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.
tasks
配列内のすべてのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when all tasks in the tasks
array have completed.
- continuationOptions
- TaskContinuationOptions
新しい継続タスクの動作を制御する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that control the behavior of the new continuation task. NotOn* メンバーと OnlyOn* メンバーはサポートされていません。The NotOn* and OnlyOn* members are not supported.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
tasks
配列が null
です。The tasks
array is null
.
または-or-
continuationAction
引数が null
です。The continuationAction
argument is null
.
continuationOptions
引数に無効な値が指定されています。The continuationOptions
argument specifies an invalid value.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
注釈
NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAll
では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll
.
こちらもご覧ください
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAll<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>[]> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAll : 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.
tasks
配列内のすべてのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when all tasks in the tasks
array have completed.
- cancellationToken
- CancellationToken
新しい継続タスクに割り当てるキャンセル トークン。The cancellation token to assign to the new continuation task.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
- または --or-
cancellationToken
を作成した CancellationTokenSource は既に破棄されています。The CancellationTokenSource that created 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 is empty or contains a null value.
こちらもご覧ください
ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAll<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>[]> continuationAction);
member this.ContinueWhenAll : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>[]> -> System.Threading.Tasks.Task
Public Function ContinueWhenAll(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.
tasks
配列内のすべてのタスクが完了したときに実行するアクション デリゲート。The action delegate to execute when all tasks in the tasks
array have completed.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element 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 is empty or contains a null value.
こちらもご覧ください
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task ^> ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TResult> (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task[],TResult> continuationFunction);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task[], 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task(), TResult)) As Task(Of TResult)
型パラメーター
- TResult
continuationFunction
デリゲートによって返され、作成されたタスクに関連付けられている結果の型。The type of the result that is returned by the continuationFunction
delegate and associated with the created task.
パラメーター
- tasks
- Task[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when all tasks in the tasks
array have completed.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
tasks
配列が null
です。The tasks
array is null
.
- または --or-
continuationFunction
引数が null
です。The continuationFunction
argument is null
.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
こちらもご覧ください
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task ^> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TResult> (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task[],TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task[], 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
型パラメーター
- TResult
continuationFunction
デリゲートによって返され、作成されたタスクに関連付けられている結果の型。The type of the result that is returned by the continuationFunction
delegate and associated with the created task.
パラメーター
- tasks
- Task[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when all tasks in the tasks
array have completed.
- cancellationToken
- CancellationToken
新しい継続タスクに割り当てるキャンセル トークン。The cancellation token to assign to the new continuation task.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
- または --or-
cancellationToken
を作成した CancellationTokenSource は既に破棄されています。The CancellationTokenSource that created cancellationToken
has already been disposed.
tasks
配列が null
です。The tasks
array is null
.
- または --or-
continuationFunction
引数が null
です。The continuationFunction
argument is null
.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
こちらもご覧ください
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, TaskContinuationOptions)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<cli::array <System::Threading::Tasks::Task ^> ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAll<TResult> (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task[],TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAll : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task[], 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAll(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task(), TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)
型パラメーター
- TResult
continuationFunction
デリゲートによって返され、作成されたタスクに関連付けられている結果の型。The type of the result that is returned by the continuationFunction
delegate and associated with the created task.
パラメーター
- tasks
- Task[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when all tasks in the tasks
array have completed.
- continuationOptions
- TaskContinuationOptions
新しい継続タスクの動作を制御する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that control the behavior of the new continuation task. NotOn* メンバーと OnlyOn* メンバーはサポートされていません。The NotOn* and OnlyOn* members are not supported.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列の要素が破棄されました。An element in the tasks
array has been disposed.
tasks
配列が null
です。The tasks
array is null
.
または-or-
continuationFunction
引数が null
です。The continuationFunction
argument is null
.
continuationOptions
引数に無効な値が指定されています。The continuationOptions
argument specifies an invalid value.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
注釈
NotOn @ no__t-0 と OnlyOn @ no__t-1 TaskContinuationOptions。この場合、継続の実行対象となる @no__t 3 の状態が制限されますが、ContinueWhenAll
では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll
.
こちらもご覧ください
ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
一連の指定したタスクが完了したときに開始する継続タスクを作成します。Creates a continuation task that starts when a set of specified tasks has completed.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAll(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<cli::array <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> ContinueWhenAll<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.ContinueWhenAll : 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
デリゲートによって返され、作成されたタスクに関連付けられている結果の型。The type of the result that is returned by the continuationFunction
delegate and associated with the created task.
パラメーター
- tasks
- Task[]
継続タスクの配列。The array of tasks from which to continue.
tasks
配列内のすべてのタスクが完了したときに非同期的に実行する関数デリゲート。The function delegate to execute asynchronously when all tasks in the tasks
array have completed.
- cancellationToken
- CancellationToken
新しい継続タスクに割り当てるキャンセル トークン。The cancellation token to assign to the new continuation task.
- continuationOptions
- TaskContinuationOptions
新しい継続タスクの動作を制御する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that control the behavior of the new continuation task. NotOn* メンバーと OnlyOn* メンバーはサポートされていません。The NotOn* and OnlyOn* members are not supported.
- scheduler
- TaskScheduler
新しい継続タスクをスケジュールするときに使用するオブジェクト。The object that is used to schedule the new continuation task.
戻り値
新しい継続タスク。The new continuation task.
例外
tasks
配列が null
です。The tasks
array is null
.
- または --or-
continuationFunction
引数が null
です。The continuationFunction
argument is null
.
- または --or-
scheduler
引数が null
です。The scheduler
argument is null
.
tasks
配列が空か、null 値が含まれています。The tasks
array is empty or contains a null value.
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 の状態が制限されますが、ContinueWhenAll
では無効です。The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll
.