Task<TResult> Klasa

Definicja

Reprezentuje operację asynchroniczną, która może zwracać wartość.Represents an asynchronous operation that can return a value.

generic <typename TResult>
public ref class Task : System::Threading::Tasks::Task
public class Task<TResult> : System.Threading.Tasks.Task
type Task<'Result> = class
    inherit Task
Public Class Task(Of TResult)
Inherits Task

Parametry typu

TResult

Typ wyniku utworzonego przez ten Task<TResult>program.The type of the result produced by this Task<TResult>.

Dziedziczenie
Task<TResult>

Uwagi

Task<TResult> Klasa reprezentuje pojedynczą operację, która zwraca wartość i która zazwyczaj wykonuje się asynchronicznie.The Task<TResult> class represents a single operation that returns a value and that usually executes asynchronously. Task<TResult>obiekty są jednym z centralnych składników wzorca asynchronicznego opartego na zadaniach , które zostały najpierw wprowadzone w .NET Framework 4.Task<TResult> objects are one of the central components of the task-based asynchronous pattern first introduced in the .NET Framework 4. Ponieważ Task<TResult> prace wykonywane przez obiekt zwykle są wykonywane asynchronicznie w wątku puli wątków zamiast synchronicznie w wątku aplikacji głównej, można Status użyć właściwości IsCanceled, a także, IsCompletedi IsFaulted właściwości, aby określić stan zadania.Because the work performed by a Task<TResult> object typically executes asynchronously on a thread pool thread rather than synchronously on the main application thread, you can use the Status property, as well as the IsCanceled, IsCompleted, and IsFaulted properties, to determine the state of a task. Najczęściej wyrażenie lambda służy do określenia pracy, którą zadanie ma wykonać.Most commonly, a lambda expression is used to specify the work that the task is to perform.

Task<TResult>wystąpienia mogą być tworzone na różne sposoby.Task<TResult> instances may be created in a variety of ways. Najbardziej typowym podejściem, które jest dostępne od .NET Framework 4.5.NET Framework 4.5, jest wywołanie statyczne Task.Run<TResult>(Func<TResult>) lub Task.Run<TResult>(Func<TResult>, CancellationToken) metody.The most common approach, which is available starting with the .NET Framework 4.5.NET Framework 4.5, is to call the static Task.Run<TResult>(Func<TResult>) or Task.Run<TResult>(Func<TResult>, CancellationToken) method. Te metody zapewniają prosty sposób uruchamiania zadania przy użyciu wartości domyślnych i bez uzyskiwania dodatkowych parametrów.These methods provide a simple way to start a task by using default values and without acquiring additional parameters. W poniższym przykładzie zastosowano Task.Run<TResult>(Func<TResult>) metodę, aby uruchomić zadanie, które tworzy pętlę, a następnie wyświetla liczbę iteracji pętli:The following example uses the Task.Run<TResult>(Func<TResult>) method to start a task that loops and then displays the number of loop iterations:

using System;
using System.Threading.Tasks;

public class Example
{
   public static void Main()
   {
      var t = Task<int>.Run( () => {
                                      // Just loop.
                                      int max = 1000000;
                                      int ctr = 0;
                                      for (ctr = 0; ctr <= max; ctr++) {
                                         if (ctr == max / 2 && DateTime.Now.Hour <= 12) {
                                            ctr++;
                                            break;
                                         }
                                      }
                                      return ctr;
                                    } );
      Console.WriteLine("Finished {0:N0} iterations.", t.Result);
   }
}
// The example displays output like the following:
//        Finished 1,000,001 loop iterations.
Imports System.Threading.Tasks

Module Example
   Public Sub Main()
      Dim t As Task(Of Integer) = Task.Run(Function()
                                  Dim max As Integer = 1000000
                                  Dim ctr As Integer
                                  For ctr = 0 to max
                                     If ctr = max \ 2 And Date.Now.Hour <= 12 Then
                                        ctr += 1
                                        Exit For
                                     End If
                                  Next
                                  Return ctr
                               End Function)
      Console.WriteLine("Finished {0:N0} iterations.", t.Result)
   End Sub
End Module
' The example displays the following output:
'       Finished 1,000,001 loop iterations

Alternatywny i najbardziej typowy sposób uruchamiania zadania w programie Program .NET Framework 4.NET Framework 4, jest wywołanie statyczne TaskFactory.StartNew lub TaskFactory<TResult>.StartNew metody.An alternative, and the most common way to start a task in the Program .NET Framework 4.NET Framework 4, is to call the static TaskFactory.StartNew or TaskFactory<TResult>.StartNew method. Właściwość zwraca obiekt, a Task<TResult>.FactoryWłaściwość zwraca obiekt.TaskFactory<TResult> TaskFactory Task.FactoryThe Task.Factory property returns a TaskFactory object, and the Task<TResult>.Factory property returns a TaskFactory<TResult> object. Przeciążenia ich StartNew metod umożliwiają przekazywanie argumentów, Definiowanie opcji tworzenia zadań i Określanie harmonogramu zadań.Overloads of their StartNew method let you pass arguments, define task creation options, and specify a task scheduler. Poniższy przykład używa TaskFactory<TResult>.StartNew(Func<TResult>) metody do uruchomienia zadania.The following example uses the TaskFactory<TResult>.StartNew(Func<TResult>) method to start a task. Jest ona funkcjonalnie równoważna z kodem w poprzednim przykładzie.It is functionally equivalent to the code in the previous example.

using System;
using System.Threading.Tasks;

public class Example
{
   public static void Main()
   {
      var t = Task<int>.Factory.StartNew( () => {
                                      // Just loop.
                                      int max = 1000000;
                                      int ctr = 0;
                                      for (ctr = 0; ctr <= max; ctr++) {
                                         if (ctr == max / 2 && DateTime.Now.Hour <= 12) {
                                            ctr++;
                                            break;
                                         }
                                      }
                                      return ctr;
                               } );
      Console.WriteLine("Finished {0:N0} iterations.", t.Result);
   }
}
// The example displays the following output:
//        Finished 1000001 loop iterations
Imports System.Threading.Tasks

Module Example
   Public Sub Main()
      Dim t = Task(Of Integer).Factory.StartNew(Function()
                                  Dim max As Integer = 1000000
                                  Dim ctr As Integer
                                  For ctr = 0 to max
                                     If ctr = max \ 2 And Date.Now.Hour <= 12 Then
                                       ctr += 1
                                       Exit For
                                     End If
                                  Next
                                  Return ctr
                               End Function)
      Console.WriteLine("Finished {0:N0} iterations.", t.Result)
   End Sub
End Module
' The example displays output like the following:
'       Finished 1,000,001 iterations

Aby uzyskać więcej kompletnych przykładów, zobacz oparte na zadaniach programowanie asynchroniczne.For more complete examples, see Task-based Asynchronous Programming.

Task<TResult> Klasa zawiera również konstruktory, które inicjują zadanie, ale nie Zaplanuj jego wykonywania.The Task<TResult> class also provides constructors that initialize the task but that do not schedule it for execution. Ze względu na wydajność Task.Run , Task.Factory.StartNew metody i to preferowane mechanizmy tworzenia i planowania zadań obliczeniowych, ale w przypadku scenariuszy, w których należy oddzielić tworzenie i planowanie zadań, można użyć konstruktorów oraz można następnie użyć metody zadania, aby zaplanować zadanie do wykonania w późniejszym czasie. StartFor performance reasons, the Task.Run and Task.Factory.StartNew methods are the preferred mechanisms for creating and scheduling computational tasks, but for scenarios where task creation and scheduling must be separated, the constructors may be used, and the task's Start method may then be used to schedule the task for execution at a later time.

Począwszy od aplikacji klasycznych, które .NET Framework 4.6.NET Framework 4.6są przeznaczone dla, kultura wątku, który tworzy i wywołuje zadanie, wchodzi w skład kontekstu wątku.Starting with desktop apps that target the .NET Framework 4.6.NET Framework 4.6, the culture of the thread that creates and invokes a task becomes part of the thread's context. Oznacza to, że niezależnie od bieżącej kultury wątku, w którym wykonywane jest zadanie, bieżąca kultura zadania jest kulturą wątku wywołującego.That is, regardless of the current culture of the thread on which the task executes, the current culture of the task is the culture of the calling thread. W przypadku aplikacji, które są przeznaczone dla wersji .NET Framework przed .NET Framework 4.6.NET Framework 4.6, kultura zadania jest kulturą wątku, w którym wykonywane jest zadanie.For apps that target versions of the .NET Framework prior to the .NET Framework 4.6.NET Framework 4.6, the culture of the task is the culture of the thread on which the task executes. Aby uzyskać więcej informacji, zapoznaj się z sekcją "kultury i operacje asynchroniczne oparte na CultureInfo zadaniach" w temacie.For more information, see the "Culture and task-based asynchronous operations" section in the CultureInfo topic. Należy pamiętać, że aplikacje ze sklepu są zgodne z środowisko wykonawcze systemu Windows w ustawieniu i pobieranie domyślnej kultury.Note that Store apps follow the Windows Runtime in setting and getting the default culture.

W przypadku operacji, które nie zwracają wartości, należy użyć Task klasy.For operations that do not return a value, you use the Task class. Począwszy od C# 7,0, dla bardziej uproszczonego zadania, które jest typem wartości, a nie typem referencyjnym, należy System.Threading.Tasks.ValueTask<TResult> użyć struktury.Starting with C# 7.0, for a more lightweight task that is a value type rather than a reference type, use the System.Threading.Tasks.ValueTask<TResult> structure.

Konstruktory

Task<TResult>(Func<Object,TResult>, Object)

Inicjuje nową Task<TResult> z określoną funkcją i stanem.Initializes a new Task<TResult> with the specified function and state.

Task<TResult>(Func<Object,TResult>, Object, CancellationToken)

Inicjuje nową Task<TResult> z określoną akcją, stanem i opcjami.Initializes a new Task<TResult> with the specified action, state, and options.

Task<TResult>(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions)

Inicjuje nową Task<TResult> z określoną akcją, stanem i opcjami.Initializes a new Task<TResult> with the specified action, state, and options.

Task<TResult>(Func<Object,TResult>, Object, TaskCreationOptions)

Inicjuje nową Task<TResult> z określoną akcją, stanem i opcjami.Initializes a new Task<TResult> with the specified action, state, and options.

Task<TResult>(Func<TResult>)

Inicjuje nową Task<TResult> z określoną funkcją.Initializes a new Task<TResult> with the specified function.

Task<TResult>(Func<TResult>, CancellationToken)

Inicjuje nową Task<TResult> z określoną funkcją.Initializes a new Task<TResult> with the specified function.

Task<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions)

Inicjuje nową Task<TResult> z określonymi opcjami funkcji i tworzenia.Initializes a new Task<TResult> with the specified function and creation options.

Task<TResult>(Func<TResult>, TaskCreationOptions)

Inicjuje nową Task<TResult> z określonymi opcjami funkcji i tworzenia.Initializes a new Task<TResult> with the specified function and creation options.

Właściwości

AsyncState

Pobiera obiekt stanu dostarczony podczas tworzenia Task lub wartość null, jeśli żaden nie został podany.Gets the state object supplied when the Task was created, or null if none was supplied.

(Odziedziczone po Task)
CreationOptions

Pobiera TaskCreationOptions używany do tworzenia tego zadania.Gets the TaskCreationOptions used to create this task.

(Odziedziczone po Task)
Exception

Pobiera AggregateException, które spowodowały przedwczesne zakończenie Task.Gets the AggregateException that caused the Task to end prematurely. Jeśli Task zakończyła się pomyślnie lub nie zgłosił jeszcze żadnych wyjątków, spowoduje to zwrócenie null.If the Task completed successfully or has not yet thrown any exceptions, this will return null.

(Odziedziczone po Task)
Factory

Zapewnia dostęp do metod fabrycznych na potrzeby tworzenia Task<TResult> i konfigurowania wystąpień.Provides access to factory methods for creating and configuring Task<TResult> instances.

Id

Pobiera identyfikator dla tego wystąpienia Task.Gets an ID for this Task instance.

(Odziedziczone po Task)
IsCanceled

Pobiera czy to wystąpienie Task zostało ukończone z powodu anulowania.Gets whether this Task instance has completed execution due to being canceled.

(Odziedziczone po Task)
IsCompleted

Pobiera wartość wskazującą, czy zadanie zostało ukończone.Gets a value that indicates whether the task has completed.

(Odziedziczone po Task)
IsCompletedSuccessfully

Określa, czy zadanie zostało wykonane w celu ukończenia.Gets whether the task ran to completion.

(Odziedziczone po Task)
IsFaulted

Pobiera czy Task zostało wykonane z powodu nieobsługiwanego wyjątku.Gets whether the Task completed due to an unhandled exception.

(Odziedziczone po Task)
Result

Pobiera wartość Task<TResult>wynikową.Gets the result value of this Task<TResult>.

Status

Pobiera TaskStatus tego zadania.Gets the TaskStatus of this task.

(Odziedziczone po Task)

Metody

ConfigureAwait(Boolean)

Konfiguruje obiekt oczekujący używany do tego Task<TResult>oczekiwania.Configures an awaiter used to await this Task<TResult>.

ContinueWith(Action<Task,Object>, Object)

Tworzy kontynuację, która odbiera informacje o stanie dostarczone przez obiekt wywołujący i wykonuje po zakończeniu Task docelowego.Creates a continuation that receives caller-supplied state information and executes when the target Task completes.

(Odziedziczone po Task)
ContinueWith(Action<Task,Object>, Object, CancellationToken)

Tworzy kontynuację, która odbiera informacje o stanie dostarczone przez obiekt wywołujący i token anulowania, które są wykonywane asynchronicznie po zakończeniu Task docelowej.Creates a continuation that receives caller-supplied state information and a cancellation token and that executes asynchronously when the target Task completes.

(Odziedziczone po Task)
ContinueWith(Action<Task,Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

Tworzy kontynuację, która odbiera informacje o stanie dostarczone przez obiekt wywołujący i token anulowania, które są wykonywane po zakończeniu Task docelowego.Creates a continuation that receives caller-supplied state information and a cancellation token and that executes when the target Task completes. Kontynuacja jest wykonywana na podstawie zestawu określonych warunków i używa określonego harmonogramu.The continuation executes based on a set of specified conditions and uses a specified scheduler.

(Odziedziczone po Task)
ContinueWith(Action<Task,Object>, Object, TaskContinuationOptions)

Tworzy kontynuację, która odbiera informacje o stanie dostarczone przez obiekt wywołujący i wykonuje po zakończeniu Task docelowego.Creates a continuation that receives caller-supplied state information and executes when the target Task completes. Kontynuacja jest wykonywana na podstawie zestawu określonych warunków.The continuation executes based on a set of specified conditions.

(Odziedziczone po Task)
ContinueWith(Action<Task,Object>, Object, TaskScheduler)

Tworzy kontynuację, która odbiera informacje o stanie dostarczone przez obiekt wywołujący i wykonuje asynchronicznie po zakończeniu Task docelowej.Creates a continuation that receives caller-supplied state information and executes asynchronously when the target Task completes. Kontynuacja używa określonego harmonogramu.The continuation uses a specified scheduler.

(Odziedziczone po Task)
ContinueWith(Action<Task<TResult>,Object>, Object)

Tworzy kontynuację, która przekazuje informacje o stanie i jest wykonywana po zakończeniu Task<TResult> celu.Creates a continuation that is passed state information and that executes when the target Task<TResult> completes.

ContinueWith(Action<Task<TResult>,Object>, Object, CancellationToken)

Tworzy kontynuację, która jest wykonywana po Task<TResult> zakończeniu celu.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith(Action<Task<TResult>,Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

Tworzy kontynuację, która jest wykonywana po Task<TResult> zakończeniu celu.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith(Action<Task<TResult>,Object>, Object, TaskContinuationOptions)

Tworzy kontynuację, która jest wykonywana po Task<TResult> zakończeniu celu.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith(Action<Task<TResult>,Object>, Object, TaskScheduler)

Tworzy kontynuację, która jest wykonywana po Task<TResult> zakończeniu celu.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith(Action<Task<TResult>>)

Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu zadania docelowego.Creates a continuation that executes asynchronously when the target task completes.

ContinueWith(Action<Task<TResult>>, CancellationToken)

Tworzy kontynuację anulowania, która jest wykonywana asynchronicznie po Task<TResult> zakończeniu elementu docelowego.Creates a cancelable continuation that executes asynchronously when the target Task<TResult> completes.

ContinueWith(Action<Task<TResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Tworzy kontynuację, która jest wykonywana zgodnie z warunkiem continuationOptionsokreślonym w.Creates a continuation that executes according the condition specified in continuationOptions.

ContinueWith(Action<Task<TResult>>, TaskContinuationOptions)

Tworzy kontynuację, która jest wykonywana zgodnie z warunkiem continuationOptionsokreślonym w.Creates a continuation that executes according the condition specified in continuationOptions.

ContinueWith(Action<Task<TResult>>, TaskScheduler)

Tworzy kontynuację, która jest wykonywana asynchronicznie Task<TResult> po zakończeniu celu.Creates a continuation that executes asynchronously when the target Task<TResult> completes.

ContinueWith(Action<Task>)

Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu Task docelowej.Creates a continuation that executes asynchronously when the target Task completes.

(Odziedziczone po Task)
ContinueWith(Action<Task>, CancellationToken)

Tworzy kontynuację, która odbiera token anulowania i wykonuje asynchronicznie po zakończeniu Task docelowej.Creates a continuation that receives a cancellation token and executes asynchronously when the target Task completes.

(Odziedziczone po Task)
ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Tworzy kontynuację, która jest wykonywana, gdy zadanie docelowe konkuruje według określonego TaskContinuationOptions.Creates a continuation that executes when the target task competes according to the specified TaskContinuationOptions. Kontynuacja odbiera token anulowania i używa określonego harmonogramu.The continuation receives a cancellation token and uses a specified scheduler.

(Odziedziczone po Task)
ContinueWith(Action<Task>, TaskContinuationOptions)

Tworzy kontynuację, która jest wykonywana po zakończeniu zadania docelowego zgodnie z określoną TaskContinuationOptions.Creates a continuation that executes when the target task completes according to the specified TaskContinuationOptions.

(Odziedziczone po Task)
ContinueWith(Action<Task>, TaskScheduler)

Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu Task docelowej.Creates a continuation that executes asynchronously when the target Task completes. Kontynuacja używa określonego harmonogramu.The continuation uses a specified scheduler.

(Odziedziczone po Task)
ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object)

Tworzy kontynuację, która jest wykonywana po Task<TResult> zakończeniu celu.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, CancellationToken)

Tworzy kontynuację, która jest wykonywana po Task<TResult> zakończeniu celu.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

Tworzy kontynuację, która jest wykonywana po Task<TResult> zakończeniu celu.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, TaskContinuationOptions)

Tworzy kontynuację, która jest wykonywana po Task<TResult> zakończeniu celu.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, TaskScheduler)

Tworzy kontynuację, która jest wykonywana po Task<TResult> zakończeniu celu.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>)

Tworzy kontynuację, która jest wykonywana asynchronicznie Task<TResult> po zakończeniu celu.Creates a continuation that executes asynchronously when the target Task<TResult> completes.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, CancellationToken)

Tworzy kontynuację, która jest wykonywana asynchronicznie Task<TResult> po zakończeniu celu.Creates a continuation that executes asynchronously when the target Task<TResult> completes.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Tworzy kontynuację, która jest wykonywana zgodnie z warunkiem continuationOptionsokreślonym w.Creates a continuation that executes according the condition specified in continuationOptions.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, TaskContinuationOptions)

Tworzy kontynuację, która jest wykonywana zgodnie z warunkiem continuationOptionsokreślonym w.Creates a continuation that executes according the condition specified in continuationOptions.

ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, TaskScheduler)

Tworzy kontynuację, która jest wykonywana asynchronicznie Task<TResult> po zakończeniu celu.Creates a continuation that executes asynchronously when the target Task<TResult> completes.

ContinueWith<TResult>(Func<Task,Object,TResult>, Object)

Tworzy kontynuację, która odbiera informacje o stanie dostarczone przez obiekt wywołujący i wykonuje asynchronicznie po zakończeniu Task docelowej i zwraca wartość.Creates a continuation that receives caller-supplied state information and executes asynchronously when the target Task completes and returns a value.

(Odziedziczone po Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken)

Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu Task docelowej i zwraca wartość.Creates a continuation that executes asynchronously when the target Task completes and returns a value. Kontynuacja odbiera informacje o stanie dostarczone przez obiekt wywołujący oraz token anulowania.The continuation receives caller-supplied state information and a cancellation token.

(Odziedziczone po Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

Tworzy kontynuację, która jest wykonywana na podstawie określonych opcji kontynuacji zadania po zakończeniu Task docelowej i zwraca wartość.Creates a continuation that executes based on the specified task continuation options when the target Task completes and returns a value. Kontynuacja odbiera informacje o stanie dostarczone przez obiekt wywołujący oraz token anulowania i używa określonego harmonogramu.The continuation receives caller-supplied state information and a cancellation token and uses the specified scheduler.

(Odziedziczone po Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskContinuationOptions)

Tworzy kontynuację, która jest wykonywana na podstawie określonych opcji kontynuacji zadania po zakończeniu Task docelowej.Creates a continuation that executes based on the specified task continuation options when the target Task completes. Kontynuacja odbiera informacje o stanie dostarczone przez proces wywołujący.The continuation receives caller-supplied state information.

(Odziedziczone po Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskScheduler)

Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu Task docelowej.Creates a continuation that executes asynchronously when the target Task completes. Kontynuacja odbiera informacje o stanie dostarczone przez proces wywołujący i używa określonego harmonogramu.The continuation receives caller-supplied state information and uses a specified scheduler.

(Odziedziczone po Task)
ContinueWith<TResult>(Func<Task,TResult>)

Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu Task<TResult> docelowej i zwraca wartość.Creates a continuation that executes asynchronously when the target Task<TResult> completes and returns a value.

(Odziedziczone po Task)
ContinueWith<TResult>(Func<Task,TResult>, CancellationToken)

Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu Task docelowej i zwraca wartość.Creates a continuation that executes asynchronously when the target Task completes and returns a value. Kontynuacja odbiera token anulowania.The continuation receives a cancellation token.

(Odziedziczone po Task)
ContinueWith<TResult>(Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Tworzy kontynuację, która jest wykonywana zgodnie z określonymi opcjami kontynuacji i zwraca wartość.Creates a continuation that executes according to the specified continuation options and returns a value. Kontynuacja powoduje przekazanie tokenu anulowania i użycie określonego harmonogramu.The continuation is passed a cancellation token and uses a specified scheduler.

(Odziedziczone po Task)
ContinueWith<TResult>(Func<Task,TResult>, TaskContinuationOptions)

Tworzy kontynuację, która jest wykonywana zgodnie z określonymi opcjami kontynuacji i zwraca wartość.Creates a continuation that executes according to the specified continuation options and returns a value.

(Odziedziczone po Task)
ContinueWith<TResult>(Func<Task,TResult>, TaskScheduler)

Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu Task docelowej i zwraca wartość.Creates a continuation that executes asynchronously when the target Task completes and returns a value. Kontynuacja używa określonego harmonogramu.The continuation uses a specified scheduler.

(Odziedziczone po Task)
Dispose()

Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy Task.Releases all resources used by the current instance of the Task class.

(Odziedziczone po Task)
Dispose(Boolean)

Usuwa Task, zwalniając wszystkie niezarządzane zasoby.Disposes the Task, releasing all of its unmanaged resources.

(Odziedziczone po Task)
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetAwaiter()

Pobiera obiekt oczekujący, który jest używany Task<TResult>do oczekiwania na to.Gets an awaiter used to await this Task<TResult>.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
RunSynchronously()

Uruchamia Task synchronicznie na bieżącym TaskScheduler.Runs the Task synchronously on the current TaskScheduler.

(Odziedziczone po Task)
RunSynchronously(TaskScheduler)

Uruchamia Task synchronicznie dla podanego TaskScheduler.Runs the Task synchronously on the TaskScheduler provided.

(Odziedziczone po Task)
Start()

Uruchamia Task, planując jego wykonywanie do bieżącego TaskScheduler.Starts the Task, scheduling it for execution to the current TaskScheduler.

(Odziedziczone po Task)
Start(TaskScheduler)

Uruchamia Task, planując go pod kątem wykonania do określonego TaskScheduler.Starts the Task, scheduling it for execution to the specified TaskScheduler.

(Odziedziczone po Task)
ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
Wait()

Czeka na zakończenie wykonywania Task.Waits for the Task to complete execution.

(Odziedziczone po Task)
Wait(CancellationToken)

Czeka na zakończenie wykonywania Task.Waits for the Task to complete execution. Oczekiwanie kończy się, jeśli token anulowania zostanie anulowany przed ukończeniem zadania.The wait terminates if a cancellation token is canceled before the task completes.

(Odziedziczone po Task)
Wait(Int32)

Czeka na zakończenie wykonywania przez Task w ciągu określonej liczby milisekund.Waits for the Task to complete execution within a specified number of milliseconds.

(Odziedziczone po Task)
Wait(Int32, CancellationToken)

Czeka na zakończenie wykonywania Task.Waits for the Task to complete execution. Oczekiwanie kończy się, jeśli upłynie interwał limitu czasu lub token anulowania został anulowany przed ukończeniem zadania.The wait terminates if a timeout interval elapses or a cancellation token is canceled before the task completes.

(Odziedziczone po Task)
Wait(TimeSpan)

Czeka na zakończenie wykonywania Task w określonym przedziale czasu.Waits for the Task to complete execution within a specified time interval.

(Odziedziczone po Task)

Jawne implementacje interfejsu

IAsyncResult.AsyncWaitHandle

Pobiera WaitHandle, których można użyć, aby poczekać na ukończenie zadania.Gets a WaitHandle that can be used to wait for the task to complete.

(Odziedziczone po Task)
IAsyncResult.CompletedSynchronously

Pobiera informację o tym, czy operacja została ukończona synchronicznie.Gets an indication of whether the operation completed synchronously.

(Odziedziczone po Task)

Metody rozszerzania

DispatcherOperationWait(Task)

Czeka na zakończenie, aby bazować DispatcherOperation .Waits indefinitely for the underlying DispatcherOperation to complete.

DispatcherOperationWait(Task, TimeSpan)

Czeka na zakończenie określonego czasu DispatcherOperation .Waits for the specified amount of time for the underlying DispatcherOperation to complete.

IsDispatcherOperationTask(Task)

Zwraca wartość wskazującą, czy jest ona Task skojarzona DispatcherOperationz.Returns a value that indicates whether this Task is associated with a DispatcherOperation.

AsAsyncAction(Task)

Zwraca środowisko wykonawcze systemu Windows asynchronicznej akcji, która reprezentuje uruchomione zadanie.Returns a Windows Runtime asynchronous action that represents a started task.

AsAsyncOperation<TResult>(Task<TResult>)

Zwraca środowisko wykonawcze systemu Windows asynchronicznej operacji, która reprezentuje uruchomione zadanie, które zwraca wynik.Returns a Windows Runtime asynchronous operation that represents a started task that returns a result.

Dotyczy

Bezpieczeństwo wątkowe

Wszystkie elementy członkowskie Task<TResult>, z wyjątkiem Dispose(), są bezpieczne dla wątków i mogą być używane jednocześnie z wielu wątków.All members of Task<TResult>, except for Dispose(), are thread-safe and may be used from multiple threads concurrently.

Zobacz też