Sdílet prostřednictvím


TaskFactory.ContinueWhenAll Metoda

Definice

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

Přetížení

Name Description
ContinueWhenAll(Task[], Action<Task[]>)

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat.

continuationAction
Action<Task[]>

Delegát akce, který se má provést, když se dokončí všechny úkoly v tasks poli.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

Matice tasks je null.

nebo

Argument continuationAction je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Příklady

Následující příklad spustí samostatné úlohy, které používají regulární výraz k počítání počtu slov v sadě textových souborů. Metoda ContinueWhenAll se používá ke spuštění úlohy, která zobrazuje celkový počet slov, když jsou dokončeny všechny úkoly stecedent.

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

Volání metody pokračování úkolu Task.Wait neumožňuje zpracování výjimek vyvolaných úlohami tecedent, takže příklad zkoumá Task.Status vlastnost každé úlohy s tecedent a určí, zda úkol byl úspěšný.

Poznámky

Metoda ContinueWhenAll spustí delegáta continuationAction , pokud byly dokončeny všechny úkoly v tasks poli bez ohledu na jejich stav dokončení.

Výjimky vyvolané úlohami v tasks poli nejsou k dispozici pro úkol pokračování prostřednictvím strukturovaného zpracování výjimek. Můžete určit, které výjimky byly vyvolány prozkoumáním Task.Exception vlastnosti každého úkolu v tasks poli. Chcete-li použít strukturované zpracování výjimek ke zpracování výjimek vyvolaných úlohami v tasks poli, zavolejte metodu Task.WaitAll(Task[]) .

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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
Public Function ContinueWhenAll (tasks As Task(), continuationAction As Action(Of Task()), cancellationToken As CancellationToken) As Task

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat.

continuationAction
Action<Task[]>

Delegát akce, který se má provést, když se dokončí všechny úkoly v tasks poli.

cancellationToken
CancellationToken

Token zrušení, který se přiřadí k nové úloze pokračování.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

nebo

Vytvořené objekty CancellationTokenSourcecancellationToken již byly odstraněny.

Matice tasks je null.

nebo

Argument continuationAction je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Příklady

Následující příklad vytvoří token zrušení, který předá samostatným úkolům, které používají regulární výraz k počítání počtu slov v sadě textových souborů. Token zrušení se nastaví, pokud nelze najít soubor. Metoda ContinueWhenAll(Task[], Action{Task[]}, CancellationToken) se používá ke spuštění úlohy, která zobrazuje celkový počet slov, když jsou dokončeny všechny úkoly stecedent. Pokud je nastaven token zrušení, který označuje, že jeden nebo více úloh bylo zrušeno, zpracuje AggregateException výjimku a zobrazí chybovou zprávu.

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.

Poznámky

Tato metoda spustí delegáta continuationAction , pokud byly dokončeny všechny úkoly v tasks poli bez ohledu na jejich stav dokončení.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat.

continuationAction
Action<Task[]>

Delegát akce, který se má provést, když se dokončí všechny úkoly v tasks poli.

continuationOptions
TaskContinuationOptions

Bitové kombinace hodnot výčtu, které řídí chování nové úlohy pokračování. Členy NotOn* a OnlyOn* nejsou podporovány.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

Matice tasks je null.

nebo

Argument continuationAction je null.

Argument continuationOptions určuje neplatnou hodnotu.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Poznámky

NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAll.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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
Public Function ContinueWhenAll (tasks As Task(), continuationAction As Action(Of Task()), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat.

continuationAction
Action<Task[]>

Delegát akce, který se má provést, když se dokončí všechny úkoly v tasks poli.

cancellationToken
CancellationToken

Token zrušení, který se přiřadí k nové úloze pokračování.

continuationOptions
TaskContinuationOptions

Bitové kombinace hodnot výčtu, které řídí chování nové úlohy pokračování.

scheduler
TaskScheduler

Objekt, který slouží k naplánování nové úlohy pokračování.

Návraty

Nový úkol pokračování.

Výjimky

Matice tasks je null.

nebo

Argument continuationAction je null.

nebo

Argument scheduler je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

continuationOptions určuje neplatnou TaskContinuationOptions hodnotu.

Poskytnutá služba CancellationToken již byla uvolněna.

Poznámky

NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAll.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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>
Public Function ContinueWhenAll(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult)(), TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)

Parametry typu

TAntecedentResult

Typ výsledku antecedentu tasks.

TResult

Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému úkolu.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat.

continuationFunction
Func<Task<TAntecedentResult>[],TResult>

Delegát funkce, který se má provádět asynchronně, když jsou dokončeny všechny úkoly v tasks poli.

cancellationToken
CancellationToken

Token zrušení, který se přiřadí k nové úloze pokračování.

continuationOptions
TaskContinuationOptions

Bitové kombinace hodnot výčtu, které řídí chování nové úlohy pokračování. Členy NotOn* a OnlyOn* nejsou podporovány.

scheduler
TaskScheduler

Objekt, který slouží k naplánování nové úlohy pokračování.

Návraty

Nový úkol pokračování.

Výjimky

Matice tasks je null.

nebo

Argument continuationFunction je null.

nebo

Argument scheduler je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Argument continuationOptions určuje neplatnou hodnotu.

Prvek v tasks poli byl uvolněn.

nebo

Vytvořené objekty CancellationTokenSourcecancellationToken již byly odstraněny.

Poznámky

NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAll.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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)

Parametry typu

TAntecedentResult

Typ výsledku antecedentu tasks.

TResult

Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému úkolu.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat.

continuationFunction
Func<Task<TAntecedentResult>[],TResult>

Delegát funkce, který se má provádět asynchronně, když jsou dokončeny všechny úkoly v tasks poli.

continuationOptions
TaskContinuationOptions

Bitové kombinace hodnot výčtu, které řídí chování nové úlohy pokračování. Členy NotOn* a OnlyOn* nejsou podporovány.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

Matice tasks je null.

nebo

Argument continuationFunction je null.

Argument continuationOptions určuje neplatnou hodnotu.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Poznámky

NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAll.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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>
Public Function ContinueWhenAll(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult)(), TResult), cancellationToken As CancellationToken) As Task(Of TResult)

Parametry typu

TAntecedentResult

Typ výsledku antecedentu tasks.

TResult

Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému úkolu.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat.

continuationFunction
Func<Task<TAntecedentResult>[],TResult>

Delegát funkce, který se má provádět asynchronně, když jsou dokončeny všechny úkoly v tasks poli.

cancellationToken
CancellationToken

Token zrušení, který se přiřadí k nové úloze pokračování.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

nebo

Vytvořené objekty CancellationTokenSourcecancellationToken již byly odstraněny.

Matice tasks je null.

nebo

Argument continuationFunction je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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)

Parametry typu

TAntecedentResult

Typ výsledku antecedentu tasks.

TResult

Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému úkolu.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat.

continuationFunction
Func<Task<TAntecedentResult>[],TResult>

Delegát funkce, který se má provádět asynchronně, když jsou dokončeny všechny úkoly v tasks poli.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

Matice tasks je null.

nebo

Argument continuationFunction je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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
Public Function ContinueWhenAll(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)()), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task

Parametry typu

TAntecedentResult

Typ výsledku antecedentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat.

continuationAction
Action<Task<TAntecedentResult>[]>

Delegát akce, který se má provést, když se dokončí všechny úkoly v tasks poli.

cancellationToken
CancellationToken

Token zrušení, který se přiřadí k nové úloze pokračování.

continuationOptions
TaskContinuationOptions

Bitové kombinace hodnot výčtu, které řídí chování nové úlohy pokračování. Členy NotOn* a OnlyOn* nejsou podporovány.

scheduler
TaskScheduler

Objekt, který slouží k naplánování nové úlohy pokračování.

Návraty

Nový úkol pokračování.

Výjimky

Matice tasks je null.

nebo

Argument continuationAction je null.

nebo

Argument scheduler je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

continuationOptions určuje neplatnou TaskContinuationOptions hodnotu.

Poskytnutá služba CancellationToken již byla uvolněna.

Poznámky

NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAll.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Parametry typu

TAntecedentResult

Typ výsledku antecedentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat.

continuationAction
Action<Task<TAntecedentResult>[]>

Delegát akce, který se má provést, když se dokončí všechny úkoly v tasks poli.

continuationOptions
TaskContinuationOptions

Bitové kombinace hodnot výčtu, které řídí chování nové úlohy pokračování. Členy NotOn* a OnlyOn* nejsou podporovány.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

Matice tasks je null.

nebo

Argument continuationAction je null.

Argument continuationOptions určuje neplatnou hodnotu.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Poznámky

NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAll.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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
Public Function ContinueWhenAll(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)()), cancellationToken As CancellationToken) As Task

Parametry typu

TAntecedentResult

Typ výsledku antecedentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat.

continuationAction
Action<Task<TAntecedentResult>[]>

Delegát akce, který se má provést, když se dokončí všechny úkoly v tasks poli.

cancellationToken
CancellationToken

Token zrušení, který se přiřadí k nové úloze pokračování.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

nebo

Vytvořené objekty CancellationTokenSourcecancellationToken již byly odstraněny.

Matice tasks je null.

nebo

Argument continuationAction je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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

Parametry typu

TAntecedentResult

Typ výsledku antecedentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Pole úkolů, ze kterých chcete pokračovat.

continuationAction
Action<Task<TAntecedentResult>[]>

Delegát akce, který se má provést, když se dokončí všechny úkoly v tasks poli.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

Matice tasks je null.

nebo

Argument continuationAction je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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)

Parametry typu

TResult

Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému úkolu.

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat.

continuationFunction
Func<Task[],TResult>

Delegát funkce, který se má provádět asynchronně, když jsou dokončeny všechny úkoly v tasks poli.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

Matice tasks je null.

nebo

Argument continuationFunction je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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>
Public Function ContinueWhenAll(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task(), TResult), cancellationToken As CancellationToken) As Task(Of TResult)

Parametry typu

TResult

Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému úkolu.

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat.

continuationFunction
Func<Task[],TResult>

Delegát funkce, který se má provádět asynchronně, když jsou dokončeny všechny úkoly v tasks poli.

cancellationToken
CancellationToken

Token zrušení, který se přiřadí k nové úloze pokračování.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

nebo

Vytvořené objekty CancellationTokenSourcecancellationToken již byly odstraněny.

Matice tasks je null.

nebo

Argument continuationFunction je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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)

Parametry typu

TResult

Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému úkolu.

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat.

continuationFunction
Func<Task[],TResult>

Delegát funkce, který se má provádět asynchronně, když jsou dokončeny všechny úkoly v tasks poli.

continuationOptions
TaskContinuationOptions

Bitové kombinace hodnot výčtu, které řídí chování nové úlohy pokračování. Členy NotOn* a OnlyOn* nejsou podporovány.

Návraty

Nový úkol pokračování.

Výjimky

Prvek v tasks poli byl uvolněn.

Matice tasks je null.

nebo

Argument continuationFunction je null.

Argument continuationOptions určuje neplatnou hodnotu.

Pole tasks je prázdné nebo obsahuje hodnotu null.

Poznámky

NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAll.

Viz také

Platí pro

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

Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs
Zdroj:
TaskFactory.cs

Vytvoří úkol pokračování, který se spustí po dokončení sady zadaných úkolů.

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>
Public Function ContinueWhenAll(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task(), TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)

Parametry typu

TResult

Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému úkolu.

Parametry

tasks
Task[]

Pole úkolů, ze kterých chcete pokračovat.

continuationFunction
Func<Task[],TResult>

Delegát funkce, který se má provádět asynchronně, když jsou dokončeny všechny úkoly v tasks poli.

cancellationToken
CancellationToken

Token zrušení, který se přiřadí k nové úloze pokračování.

continuationOptions
TaskContinuationOptions

Bitové kombinace hodnot výčtu, které řídí chování nové úlohy pokračování. Členy NotOn* a OnlyOn* nejsou podporovány.

scheduler
TaskScheduler

Objekt, který slouží k naplánování nové úlohy pokračování.

Návraty

Nový úkol pokračování.

Výjimky

Matice tasks je null.

nebo

Argument continuationFunction je null.

nebo

Argument scheduler je null.

Pole tasks je prázdné nebo obsahuje hodnotu null.

continuationOptions určuje neplatnou TaskContinuationOptions hodnotu.

Poskytnutá služba CancellationToken již byla uvolněna.

Poznámky

NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAll.

Viz také

Platí pro