TaskFactory.ContinueWhenAll Metoda

Definicja

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

Przeciążenia

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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[]

Tablica zadań, z których mają być kontynuowane.

continuationAction
Action<Task[]>

Delegat akcji do wykonania po zakończeniu wszystkich zadań w tablicy tasks .

Zwraca

Task

Nowe zadanie kontynuacji.

Wyjątki

Usunięto element w tablicy tasks .

Tablica tasks to null.

-lub-

Argumentem continuationAction jest null.

Tablica jest pusta tasks lub zawiera wartość null.

Przykłady

Poniższy przykład uruchamia oddzielne zadania, które używają wyrażenia regularnego do zliczania liczby wyrazów w zestawie plików tekstowych. Metoda ContinueWhenAll służy do uruchamiania zadania, które wyświetla łączną liczbę wyrazów, gdy wszystkie zadania przedzibowe zostały ukończone.

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

Wywołanie metody zadania Task.Wait kontynuacji nie zezwala na obsługę wyjątków zgłaszanych przez zadania przedzimowe, więc w przykładzie sprawdza Task.Status właściwość każdego zadania przedzidentnego w celu ustalenia, czy zadanie zakończyło się pomyślnie.

Uwagi

Metoda ContinueWhenAll wykonuje delegata continuationAction , gdy wszystkie zadania w tasks tablicy zostały ukończone, niezależnie od ich stanu ukończenia.

Wyjątki zgłaszane przez zadania w tablicy tasks nie są dostępne dla zadania kontynuacji za pośrednictwem obsługi wyjątków ustrukturyzowanych. Można określić, które wyjątki zostały zgłoszone, sprawdzając Task.Exception właściwość każdego zadania w tablicy tasks . Aby użyć obsługi wyjątków strukturalnych do obsługi wyjątków zgłaszanych przez zadania w tasks tablicy, wywołaj metodę Task.WaitAll(Task[]) .

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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[]

Tablica zadań, z których mają być kontynuowane.

continuationAction
Action<Task[]>

Delegat akcji do wykonania po zakończeniu wszystkich zadań w tablicy tasks .

cancellationToken
CancellationToken

Token anulowania do przypisania do nowego zadania kontynuacji.

Zwraca

Task

Nowe zadanie kontynuacji.

Wyjątki

Usunięto element w tablicy tasks .

-lub-

CancellationTokenSource Utworzony element cancellationToken został już usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationAction jest null.

Tablica jest pusta tasks lub zawiera wartość null.

Przykłady

Poniższy przykład tworzy token anulowania, który przekazuje do oddzielnych zadań, które używają wyrażenia regularnego do zliczania liczby wyrazów w zestawie plików tekstowych. Token anulowania jest ustawiany, jeśli nie można odnaleźć pliku. Metoda ContinueWhenAll(Task[], Action{Task[]}, CancellationToken) służy do uruchamiania zadania, które wyświetla łączną liczbę wyrazów, gdy wszystkie zadania przedzibowe zostały ukończone. Jeśli token anulowania jest ustawiony, co oznacza, że co najmniej jedno zadanie zostało anulowane, obsługuje AggregateException wyjątek i wyświetla komunikat o błędzie.

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.

Uwagi

Ta metoda wykonuje delegata continuationAction , gdy wszystkie zadania w tasks tablicy zostały ukończone, niezależnie od ich stanu ukończenia.

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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[]

Tablica zadań, z których mają być kontynuowane.

continuationAction
Action<Task[]>

Delegat akcji do wykonania po zakończeniu wszystkich zadań w tablicy tasks .

continuationOptions
TaskContinuationOptions

Bitowa kombinacja wartości wyliczenia, które kontrolują zachowanie nowego zadania kontynuacji. Członkowie NotOn* i OnlyOn* nie są obsługiwani.

Zwraca

Task

Nowe zadanie kontynuacji.

Wyjątki

Usunięto element w tablicy tasks .

Tablica tasks to null.

-lub-

Argumentem continuationAction jest null.

Argument continuationOptions określa nieprawidłową wartość.

Tablica jest pusta tasks lub zawiera wartość null.

Uwagi

NotOn* i OnlyOn* TaskContinuationOptions, które ograniczenie, dla którego TaskStatus stan kontynuacji zostanie wykonany, są nielegalne za pomocą ContinueWhenAllpolecenia .

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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[]

Tablica zadań, z których mają być kontynuowane.

continuationAction
Action<Task[]>

Delegat akcji do wykonania po zakończeniu wszystkich zadań w tablicy tasks .

cancellationToken
CancellationToken

Token anulowania do przypisania do nowego zadania kontynuacji.

continuationOptions
TaskContinuationOptions

Bitowa kombinacja wartości wyliczenia kontrolujących zachowanie nowego zadania kontynuacji.

scheduler
TaskScheduler

Obiekt używany do planowania nowego zadania kontynuacji.

Zwraca

Task

Nowe zadanie kontynuacji.

Wyjątki

Tablica tasks to null.

-lub-

Argumentem continuationAction jest null.

-lub-

Argumentem scheduler jest null.

Tablica jest pusta tasks lub zawiera wartość null.

continuationOptions określa nieprawidłową TaskContinuationOptions wartość.

Dostarczone CancellationToken zostało już usunięte.

Uwagi

NotOn* i OnlyOn* TaskContinuationOptions, które ograniczenie, dla którego TaskStatus stwierdza się kontynuację, są niedozwolone z .ContinueWhenAll

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku przedzidentu tasks.

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym zadaniem.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których mają być kontynuowane.

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

Delegat funkcji do wykonywania asynchronicznego po zakończeniu wszystkich zadań w tablicy tasks .

cancellationToken
CancellationToken

Token anulowania do przypisania do nowego zadania kontynuacji.

continuationOptions
TaskContinuationOptions

Bitowa kombinacja wartości wyliczenia kontrolujących zachowanie nowego zadania kontynuacji. Elementy członkowskie NotOn* i OnlyOn* nie są obsługiwane.

scheduler
TaskScheduler

Obiekt używany do planowania nowego zadania kontynuacji.

Zwraca

Task<TResult>

Nowe zadanie kontynuacji.

Wyjątki

Tablica tasks to null.

-lub-

Argumentem continuationFunction jest null.

-lub-

Argumentem scheduler jest null.

Tablica jest pusta tasks lub zawiera wartość null.

Argument continuationOptions określa nieprawidłową wartość.

Element w tablicy tasks został usunięty.

-lub-

Utworzony CancellationTokenSource element cancellationToken został już usunięty.

Uwagi

NotOn* i OnlyOn* TaskContinuationOptions, które ograniczenie, dla którego TaskStatus stwierdza się kontynuację, są niedozwolone z .ContinueWhenAll

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku przedzidentu tasks.

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym zadaniem.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których mają być kontynuowane.

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

Delegat funkcji do wykonywania asynchronicznego po zakończeniu wszystkich zadań w tablicy tasks .

continuationOptions
TaskContinuationOptions

Bitowa kombinacja wartości wyliczenia kontrolujących zachowanie nowego zadania kontynuacji. Elementy członkowskie NotOn* i OnlyOn* nie są obsługiwane.

Zwraca

Task<TResult>

Nowe zadanie kontynuacji.

Wyjątki

Element w tablicy tasks został usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationFunction jest null.

Argument continuationOptions określa nieprawidłową wartość.

Tablica jest pusta tasks lub zawiera wartość null.

Uwagi

NotOn* i OnlyOn* TaskContinuationOptions, które ograniczenie, dla którego TaskStatus stwierdza się kontynuację, są niedozwolone z .ContinueWhenAll

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku przedzidentu tasks.

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym zadaniem.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których mają być kontynuowane.

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

Delegat funkcji do wykonywania asynchronicznego po zakończeniu wszystkich zadań w tablicy tasks .

cancellationToken
CancellationToken

Token anulowania do przypisania do nowego zadania kontynuacji.

Zwraca

Task<TResult>

Nowe zadanie kontynuacji.

Wyjątki

Element w tablicy tasks został usunięty.

-lub-

Utworzony CancellationTokenSource element cancellationToken został już usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationFunction jest null.

Tablica jest pusta tasks lub zawiera wartość null.

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku przedzidentu tasks.

TResult

Typ wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym zadaniem.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których mają być kontynuowane.

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

Delegat funkcji do wykonywania asynchronicznego po zakończeniu wszystkich zadań w tablicy tasks .

Zwraca

Task<TResult>

Nowe zadanie kontynuacji.

Wyjątki

Element w tablicy tasks został usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationFunction jest null.

Tablica jest pusta tasks lub zawiera wartość null.

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku przedzidentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których mają być kontynuowane.

continuationAction
Action<Task<TAntecedentResult>[]>

Delegat akcji do wykonania po zakończeniu wszystkich zadań w tablicy tasks .

cancellationToken
CancellationToken

Token anulowania do przypisania do nowego zadania kontynuacji.

continuationOptions
TaskContinuationOptions

Bitowa kombinacja wartości wyliczenia kontrolujących zachowanie nowego zadania kontynuacji. Elementy członkowskie NotOn* i OnlyOn* nie są obsługiwane.

scheduler
TaskScheduler

Obiekt używany do planowania nowego zadania kontynuacji.

Zwraca

Task

Nowe zadanie kontynuacji.

Wyjątki

Tablica tasks to null.

-lub-

Argumentem continuationAction jest null.

-lub-

Argumentem scheduler jest null.

Tablica jest pusta tasks lub zawiera wartość null.

continuationOptions określa nieprawidłową TaskContinuationOptions wartość.

Podany CancellationToken element został już usunięty.

Uwagi

NotOn* i OnlyOn* TaskContinuationOptions, które ograniczenie, dla którego TaskStatus stwierdza się kontynuację, są niedozwolone z .ContinueWhenAll

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku przedzidentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których mają być kontynuowane.

continuationAction
Action<Task<TAntecedentResult>[]>

Delegat akcji do wykonania po zakończeniu wszystkich zadań w tablicy tasks .

continuationOptions
TaskContinuationOptions

Bitowa kombinacja wartości wyliczenia kontrolujących zachowanie nowego zadania kontynuacji. Elementy członkowskie NotOn* i OnlyOn* nie są obsługiwane.

Zwraca

Task

Nowe zadanie kontynuacji.

Wyjątki

Element w tablicy tasks został usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationAction jest null.

Argument continuationOptions określa nieprawidłową wartość.

Tablica jest pusta tasks lub zawiera wartość null.

Uwagi

NotOn* i OnlyOn* TaskContinuationOptions, które ograniczenie, dla którego TaskStatus stwierdza się kontynuację, są niedozwolone z .ContinueWhenAll

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku przedzidentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których mają być kontynuowane.

continuationAction
Action<Task<TAntecedentResult>[]>

Delegat akcji do wykonania po zakończeniu wszystkich zadań w tablicy tasks .

cancellationToken
CancellationToken

Token anulowania do przypisania do nowego zadania kontynuacji.

Zwraca

Task

Nowe zadanie kontynuacji.

Wyjątki

Element w tablicy tasks został usunięty.

-lub-

Utworzony CancellationTokenSource element cancellationToken został już usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationAction jest null.

Tablica jest pusta tasks lub zawiera wartość null.

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku przedzidentu tasks.

Parametry

tasks
Task<TAntecedentResult>[]

Tablica zadań, z których mają być kontynuowane.

continuationAction
Action<Task<TAntecedentResult>[]>

Delegat akcji do wykonania po zakończeniu wszystkich zadań w tablicy tasks .

Zwraca

Task

Nowe zadanie kontynuacji.

Wyjątki

Element w tablicy tasks został usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationAction jest null.

Tablica jest pusta tasks lub zawiera wartość null.

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym zadaniem.

Parametry

tasks
Task[]

Tablica zadań, z których mają być kontynuowane.

continuationFunction
Func<Task[],TResult>

Delegat funkcji do wykonywania asynchronicznego po zakończeniu wszystkich zadań w tablicy tasks .

Zwraca

Task<TResult>

Nowe zadanie kontynuacji.

Wyjątki

Element w tablicy tasks został usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationFunction jest null.

Tablica jest pusta tasks lub zawiera wartość null.

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym zadaniem.

Parametry

tasks
Task[]

Tablica zadań, z których mają być kontynuowane.

continuationFunction
Func<Task[],TResult>

Delegat funkcji do wykonywania asynchronicznego po zakończeniu wszystkich zadań w tablicy tasks .

cancellationToken
CancellationToken

Token anulowania do przypisania do nowego zadania kontynuacji.

Zwraca

Task<TResult>

Nowe zadanie kontynuacji.

Wyjątki

Element w tablicy tasks został usunięty.

-lub-

Utworzony CancellationTokenSource element cancellationToken został już usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationFunction jest null.

Tablica jest pusta tasks lub zawiera wartość null.

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku zwracanego przez delegata continuationFunction i skojarzony z utworzonym zadaniem.

Parametry

tasks
Task[]

Tablica zadań, z których mają być kontynuowane.

continuationFunction
Func<Task[],TResult>

Delegat funkcji do wykonywania asynchronicznego po zakończeniu wszystkich zadań w tablicy tasks .

continuationOptions
TaskContinuationOptions

Bitowa kombinacja wartości wyliczenia kontrolujących zachowanie nowego zadania kontynuacji. Elementy członkowskie NotOn* i OnlyOn* nie są obsługiwane.

Zwraca

Task<TResult>

Nowe zadanie kontynuacji.

Wyjątki

Element w tablicy tasks został usunięty.

Tablica tasks to null.

-lub-

Argumentem continuationFunction jest null.

Argument continuationOptions określa nieprawidłową wartość.

Tablica jest pusta tasks lub zawiera wartość null.

Uwagi

NotOn* i OnlyOn* TaskContinuationOptions, które ograniczenie, dla którego TaskStatus stwierdza się kontynuację, są niedozwolone z .ContinueWhenAll

Zobacz też

Dotyczy

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

Tworzy zadanie kontynuacji uruchamiane po zakończeniu zestawu określonych zadań.

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 wyniku zwróconego przez delegata continuationFunction i skojarzony z utworzonym zadaniem.

Parametry

tasks
Task[]

Tablica zadań, z których mają być kontynuowane.

continuationFunction
Func<Task[],TResult>

Delegat funkcji do wykonania asynchronicznie po zakończeniu wszystkich zadań w tablicy tasks .

cancellationToken
CancellationToken

Token anulowania do przypisania do nowego zadania kontynuacji.

continuationOptions
TaskContinuationOptions

Bitowa kombinacja wartości wyliczenia, które kontrolują zachowanie nowego zadania kontynuacji. Członkowie NotOn* i OnlyOn* nie są obsługiwani.

scheduler
TaskScheduler

Obiekt używany do planowania nowego zadania kontynuacji.

Zwraca

Task<TResult>

Nowe zadanie kontynuacji.

Wyjątki

Tablica tasks to null.

-lub-

Argumentem continuationFunction jest null.

-lub-

Argumentem scheduler jest null.

Tablica jest pusta tasks lub zawiera wartość null.

continuationOptions określa nieprawidłową TaskContinuationOptions wartość.

Podany CancellationToken element został już usunięty.

Uwagi

NotOn* i OnlyOn* TaskContinuationOptions, które ograniczenie, dla którego TaskStatus stan kontynuacji zostanie wykonany, są nielegalne za pomocą ContinueWhenAllpolecenia .

Zobacz też

Dotyczy