Bagikan melalui


TaskFactory.ContinueWhenAll Metode

Definisi

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

Overload

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Parameter

tasks
Task[]

Array tugas yang akan dilanjutkan.

continuationAction
Action<Task[]>

Tindakan mendelegasikan untuk dijalankan ketika semua tugas dalam tasks array telah selesai.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationAction adalah null.

Array tasks kosong atau berisi nilai null.

Contoh

Contoh berikut meluncurkan tugas terpisah yang menggunakan ekspresi reguler untuk menghitung jumlah kata dalam sekumpulan file teks. Metode ContinueWhenAll ini digunakan untuk meluncurkan tugas yang menampilkan jumlah kata total ketika semua tugas antecedent telah selesai.

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

Panggilan ke metode tugas Task.Wait kelanjutan tidak memungkinkannya untuk menangani pengecualian yang dilemparkan oleh tugas antecedent, sehingga contoh memeriksa Task.Status properti dari setiap tugas antecedent untuk menentukan apakah tugas berhasil.

Keterangan

Metode ini ContinueWhenAll menjalankan continuationAction delegasi ketika semua tugas dalam tasks array telah selesai, terlepas dari status penyelesaiannya.

Pengecualian yang dilemparkan oleh tugas dalam tasks array tidak tersedia untuk tugas kelanjutan melalui penanganan pengecualian terstruktur. Anda dapat menentukan pengecualian mana yang dilemparkan dengan memeriksa Task.Exception properti setiap tugas dalam tasks array. Untuk menggunakan penanganan pengecualian terstruktur untuk menangani pengecualian yang dilemparkan oleh tugas dalam tasks array, panggil Task.WaitAll(Task[]) metode .

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Parameter

tasks
Task[]

Array tugas yang akan dilanjutkan.

continuationAction
Action<Task[]>

Tindakan mendelegasikan untuk dijalankan ketika semua tugas dalam tasks array telah selesai.

cancellationToken
CancellationToken

Token pembatalan untuk ditetapkan ke tugas kelanjutan baru.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

-atau-

Yang CancellationTokenSource dibuat cancellationToken telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationAction adalah null.

Array tasks kosong atau berisi nilai null.

Contoh

Contoh berikut membuat token pembatalan, yang diteruskannya untuk memisahkan tugas yang menggunakan ekspresi reguler untuk menghitung jumlah kata dalam sekumpulan file teks. Token pembatalan diatur jika file tidak dapat ditemukan. Metode ContinueWhenAll(Task[], Action{Task[]}, CancellationToken) ini digunakan untuk meluncurkan tugas yang menampilkan jumlah kata total ketika semua tugas antecedent telah selesai. Jika token pembatalan diatur, yang menunjukkan bahwa satu atau beberapa tugas telah dibatalkan, token tersebut AggregateException menangani pengecualian dan menampilkan pesan kesalahan.

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.

Keterangan

Metode ini menjalankan continuationAction delegasi ketika semua tugas dalam tasks array telah selesai, terlepas dari status penyelesaiannya.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Parameter

tasks
Task[]

Array tugas yang akan dilanjutkan.

continuationAction
Action<Task[]>

Tindakan mendelegasikan untuk dijalankan ketika semua tugas dalam tasks array telah selesai.

continuationOptions
TaskContinuationOptions

Kombinasi bitwise dari nilai enumerasi yang mengontrol perilaku tugas kelanjutan baru. Anggota NotOn* dan OnlyOn* tidak didukung.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationAction adalah null.

Argumen continuationOptions menentukan nilai yang tidak valid.

Array tasks kosong atau berisi nilai null.

Keterangan

NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAll.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Parameter

tasks
Task[]

Array tugas yang akan dilanjutkan.

continuationAction
Action<Task[]>

Tindakan mendelegasikan untuk dijalankan ketika semua tugas dalam tasks array telah selesai.

cancellationToken
CancellationToken

Token pembatalan untuk ditetapkan ke tugas kelanjutan baru.

continuationOptions
TaskContinuationOptions

Kombinasi bitwise dari nilai enumerasi yang mengontrol perilaku tugas kelanjutan baru.

scheduler
TaskScheduler

Objek yang digunakan untuk menjadwalkan tugas kelanjutan baru.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Array tasks adalah null.

-atau-

Argumennya continuationAction adalah null.

-atau-

Argumennya scheduler adalah null.

Array tasks kosong atau berisi nilai null.

continuationOptions menentukan nilai yang tidak valid TaskContinuationOptions .

Yang disediakan CancellationToken telah dibuang.

Keterangan

NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAll.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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)

Jenis parameter

TAntecedentResult

Jenis hasil dari antecedent tasks.

TResult

Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan tugas yang dibuat.

Parameter

tasks
Task<TAntecedentResult>[]

Array tugas yang akan dilanjutkan.

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

Fungsi mendelegasikan untuk menjalankan secara asinkron ketika semua tugas dalam tasks array telah selesai.

cancellationToken
CancellationToken

Token pembatalan untuk ditetapkan ke tugas kelanjutan baru.

continuationOptions
TaskContinuationOptions

Kombinasi bitwise dari nilai enumerasi yang mengontrol perilaku tugas kelanjutan baru. Anggota NotOn* dan OnlyOn* tidak didukung.

scheduler
TaskScheduler

Objek yang digunakan untuk menjadwalkan tugas kelanjutan baru.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Array tasks adalah null.

-atau-

Argumennya continuationFunction adalah null.

-atau-

Argumennya scheduler adalah null.

Array tasks kosong atau berisi nilai null.

Argumen continuationOptions menentukan nilai yang tidak valid.

Elemen dalam tasks array telah dibuang.

-atau-

Yang CancellationTokenSource dibuat cancellationToken telah dibuang.

Keterangan

NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAll.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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)

Jenis parameter

TAntecedentResult

Jenis hasil dari antecedent tasks.

TResult

Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan tugas yang dibuat.

Parameter

tasks
Task<TAntecedentResult>[]

Array tugas yang akan dilanjutkan.

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

Fungsi mendelegasikan untuk menjalankan secara asinkron ketika semua tugas dalam tasks array telah selesai.

continuationOptions
TaskContinuationOptions

Kombinasi bitwise dari nilai enumerasi yang mengontrol perilaku tugas kelanjutan baru. Anggota NotOn* dan OnlyOn* tidak didukung.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationFunction adalah null.

Argumen continuationOptions menentukan nilai yang tidak valid.

Array tasks kosong atau berisi nilai null.

Keterangan

NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAll.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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)

Jenis parameter

TAntecedentResult

Jenis hasil dari antecedent tasks.

TResult

Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan tugas yang dibuat.

Parameter

tasks
Task<TAntecedentResult>[]

Array tugas yang akan dilanjutkan.

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

Fungsi mendelegasikan untuk menjalankan secara asinkron ketika semua tugas dalam tasks array telah selesai.

cancellationToken
CancellationToken

Token pembatalan untuk ditetapkan ke tugas kelanjutan baru.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

-atau-

Yang CancellationTokenSource dibuat cancellationToken telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationFunction adalah null.

Array tasks kosong atau berisi nilai null.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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)

Jenis parameter

TAntecedentResult

Jenis hasil dari antecedent tasks.

TResult

Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan tugas yang dibuat.

Parameter

tasks
Task<TAntecedentResult>[]

Array tugas yang akan dilanjutkan.

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

Fungsi mendelegasikan untuk menjalankan secara asinkron ketika semua tugas dalam tasks array telah selesai.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationFunction adalah null.

Array tasks kosong atau berisi nilai null.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Jenis parameter

TAntecedentResult

Jenis hasil dari antecedent tasks.

Parameter

tasks
Task<TAntecedentResult>[]

Array tugas yang akan dilanjutkan.

continuationAction
Action<Task<TAntecedentResult>[]>

Tindakan mendelegasikan untuk dijalankan ketika semua tugas dalam tasks array telah selesai.

cancellationToken
CancellationToken

Token pembatalan untuk ditetapkan ke tugas kelanjutan baru.

continuationOptions
TaskContinuationOptions

Kombinasi bitwise dari nilai enumerasi yang mengontrol perilaku tugas kelanjutan baru. Anggota NotOn* dan OnlyOn* tidak didukung.

scheduler
TaskScheduler

Objek yang digunakan untuk menjadwalkan tugas kelanjutan baru.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Array tasks adalah null.

-atau-

Argumennya continuationAction adalah null.

-atau-

Argumennya scheduler adalah null.

Array tasks kosong atau berisi nilai null.

continuationOptions menentukan nilai yang tidak valid TaskContinuationOptions .

Yang disediakan CancellationToken telah dibuang.

Keterangan

NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAll.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Jenis parameter

TAntecedentResult

Jenis hasil dari antecedent tasks.

Parameter

tasks
Task<TAntecedentResult>[]

Array tugas yang akan dilanjutkan.

continuationAction
Action<Task<TAntecedentResult>[]>

Tindakan mendelegasikan untuk dijalankan ketika semua tugas dalam tasks array telah selesai.

continuationOptions
TaskContinuationOptions

Kombinasi bitwise dari nilai enumerasi yang mengontrol perilaku tugas kelanjutan baru. Anggota NotOn* dan OnlyOn* tidak didukung.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationAction adalah null.

Argumen continuationOptions menentukan nilai yang tidak valid.

Array tasks kosong atau berisi nilai null.

Keterangan

NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAll.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Jenis parameter

TAntecedentResult

Jenis hasil dari antecedent tasks.

Parameter

tasks
Task<TAntecedentResult>[]

Array tugas yang akan dilanjutkan.

continuationAction
Action<Task<TAntecedentResult>[]>

Tindakan mendelegasikan untuk dijalankan ketika semua tugas dalam tasks array telah selesai.

cancellationToken
CancellationToken

Token pembatalan untuk ditetapkan ke tugas kelanjutan baru.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

-atau-

Yang CancellationTokenSource dibuat cancellationToken telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationAction adalah null.

Array tasks kosong atau berisi nilai null.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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

Jenis parameter

TAntecedentResult

Jenis hasil dari antecedent tasks.

Parameter

tasks
Task<TAntecedentResult>[]

Array tugas yang akan dilanjutkan.

continuationAction
Action<Task<TAntecedentResult>[]>

Tindakan mendelegasikan untuk dijalankan ketika semua tugas dalam tasks array telah selesai.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationAction adalah null.

Array tasks kosong atau berisi nilai null.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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)

Jenis parameter

TResult

Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan tugas yang dibuat.

Parameter

tasks
Task[]

Array tugas yang akan dilanjutkan.

continuationFunction
Func<Task[],TResult>

Fungsi mendelegasikan untuk menjalankan secara asinkron ketika semua tugas dalam tasks array telah selesai.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationFunction adalah null.

Array tasks kosong atau berisi nilai null.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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)

Jenis parameter

TResult

Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan tugas yang dibuat.

Parameter

tasks
Task[]

Array tugas yang akan dilanjutkan.

continuationFunction
Func<Task[],TResult>

Fungsi mendelegasikan untuk menjalankan secara asinkron ketika semua tugas dalam tasks array telah selesai.

cancellationToken
CancellationToken

Token pembatalan untuk ditetapkan ke tugas kelanjutan baru.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

-atau-

Yang CancellationTokenSource dibuat cancellationToken telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationFunction adalah null.

Array tasks kosong atau berisi nilai null.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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)

Jenis parameter

TResult

Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan tugas yang dibuat.

Parameter

tasks
Task[]

Array tugas yang akan dilanjutkan.

continuationFunction
Func<Task[],TResult>

Fungsi mendelegasikan untuk menjalankan secara asinkron ketika semua tugas dalam tasks array telah selesai.

continuationOptions
TaskContinuationOptions

Kombinasi bitwise dari nilai enumerasi yang mengontrol perilaku tugas kelanjutan baru. Anggota NotOn* dan OnlyOn* tidak didukung.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Elemen dalam tasks array telah dibuang.

Array tasks adalah null.

-atau-

Argumennya continuationFunction adalah null.

Argumen continuationOptions menentukan nilai yang tidak valid.

Array tasks kosong atau berisi nilai null.

Keterangan

NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAll.

Lihat juga

Berlaku untuk

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

Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs
Sumber:
TaskFactory.cs

Membuat tugas kelanjutan yang dimulai ketika sekumpulan tugas tertentu telah selesai.

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)

Jenis parameter

TResult

Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan tugas yang dibuat.

Parameter

tasks
Task[]

Array tugas yang akan dilanjutkan.

continuationFunction
Func<Task[],TResult>

Fungsi mendelegasikan untuk menjalankan secara asinkron ketika semua tugas dalam tasks array telah selesai.

cancellationToken
CancellationToken

Token pembatalan untuk ditetapkan ke tugas kelanjutan baru.

continuationOptions
TaskContinuationOptions

Kombinasi bitwise dari nilai enumerasi yang mengontrol perilaku tugas kelanjutan baru. Anggota NotOn* dan OnlyOn* tidak didukung.

scheduler
TaskScheduler

Objek yang digunakan untuk menjadwalkan tugas kelanjutan baru.

Mengembalikan

Tugas kelanjutan baru.

Pengecualian

Array tasks adalah null.

-atau-

Argumennya continuationFunction adalah null.

-atau-

Argumennya scheduler adalah null.

Array tasks kosong atau berisi nilai null.

continuationOptions menentukan nilai yang tidak valid TaskContinuationOptions .

Yang disediakan CancellationToken telah dibuang.

Keterangan

NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAll.

Lihat juga

Berlaku untuk