Task<TResult> Klasse

Definition

Stellt einen asynchronen Vorgang dar, der einen Wert zurückgeben kann.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

Typparameter

TResult

Der von diesem Task<TResult> erzeugte Ergebnistyp.The type of the result produced by this Task<TResult>.

Vererbung
Task<TResult>

Hinweise

Die Task<TResult> -Klasse stellt einen einzelnen Vorgang dar, der einen Wert zurückgibt und in der Regel asynchron ausgeführt wird.The Task<TResult> class represents a single operation that returns a value and that usually executes asynchronously. Task<TResult>Objekte sind eine der zentralen Komponenten des aufgabenbasierten asynchronen Musters , das erstmals in der .NET Framework 4 eingeführt wurde.Task<TResult> objects are one of the central components of the task-based asynchronous pattern first introduced in the .NET Framework 4. Task<TResult> Da die von einem-Objekt ausgeführte Arbeit in der Regel asynchron in einem Thread Pool Thread anstatt synchron im Hauptanwendungs Thread ausgeführt wird, können Sie die Status -Eigenschaft IsCompletedsowie die- IsCanceledEigenschaft, die-Eigenschaft und die-Eigenschaft verwenden. IsFaulted Eigenschaften, um den Status einer Aufgabe zu bestimmen.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. In den meisten Fällen wird ein Lambda-Ausdruck verwendet, um die Arbeit anzugeben, die vom Task ausgeführt werden soll.Most commonly, a lambda expression is used to specify the work that the task is to perform.

Task<TResult>Instanzen können auf verschiedene Arten erstellt werden.Task<TResult> instances may be created in a variety of ways. Der gängigste Ansatz, der ab .NET Framework 4.5.NET Framework 4.5verfügbar ist, ist das aufzurufen der statischen Task.Run<TResult>(Func<TResult>) -Methode Task.Run<TResult>(Func<TResult>, CancellationToken) oder der-Methode.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. Diese Methoden bieten eine einfache Möglichkeit, um eine Aufgabe zu starten, indem Standardwerte verwendet und keine zusätzlichen Parameter abgerufen werden.These methods provide a simple way to start a task by using default values and without acquiring additional parameters. Im folgenden Beispiel wird die Task.Run<TResult>(Func<TResult>) -Methode verwendet, um eine Aufgabe zu starten, die eine Schleife durchläuft und dann die Anzahl der Schleifen Iterationen anzeigt: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

Eine Alternative und die gängigste Methode zum Starten einer Aufgabe in .NET Framework 4.NET Framework 4besteht darin, die statische TaskFactory.StartNew -Methode oder TaskFactory<TResult>.StartNew die-Methode aufzurufen.An alternative, and the most common way to start a task in the .NET Framework 4.NET Framework 4, is to call the static TaskFactory.StartNew or TaskFactory<TResult>.StartNew method. Die Task.Factory -Eigenschaft gibt TaskFactory ein-Objekt zurück Task<TResult>.Factory , und die TaskFactory<TResult> -Eigenschaft gibt ein-Objekt zurück.The Task.Factory property returns a TaskFactory object, and the Task<TResult>.Factory property returns a TaskFactory<TResult> object. Über Ladungen ihrer StartNew -Methode ermöglichen es Ihnen, Argumente zu übergeben, Aufgaben Erstellungs Optionen zu definieren und einen Aufgabenplaner anzugeben.Overloads of their StartNew method let you pass arguments, define task creation options, and specify a task scheduler. Im folgenden Beispiel wird die TaskFactory<TResult>.StartNew(Func<TResult>) -Methode verwendet, um eine Aufgabe zu starten.The following example uses the TaskFactory<TResult>.StartNew(Func<TResult>) method to start a task. Es ist funktional äquivalent zum Code im vorherigen Beispiel.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

Ausführlichere Beispiele finden Sie unter aufgabenbasierte asynchrone Programmierung.For more complete examples, see Task-based Asynchronous Programming.

Die Task<TResult> -Klasse stellt auch Konstruktoren bereit, die die Aufgabe initialisieren, diese aber nicht für die Ausführung planen.The Task<TResult> class also provides constructors that initialize the task but that do not schedule it for execution. Aus Leistungsgründen sind die Task.Run - Task.Factory.StartNew Methode und die-Methode die bevorzugten Mechanismen zum Erstellen und Planen von Rechenaufgaben. in Szenarios, in denen die Erstellung und Planung von Aufgaben getrennt werden muss, können die-Konstruktoren verwendet werden, und der die- Start Methode der Aufgabe kann dann verwendet werden, um die Aufgabe zu einem späteren Zeitpunkt für die Ausführung zu planen.For 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.

Beginnend mit Desktop-Apps, die .NET Framework 4.6.NET Framework 4.6auf ausgerichtet sind, wird die Kultur des Threads, der einen Task erstellt und aufruft, Teil des Thread Kontexts.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. Das heißt, unabhängig von der aktuellen Kultur des Threads, in dem die Aufgabe ausgeführt wird, ist die aktuelle Kultur der Aufgabe die Kultur des aufrufenden Threads.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. Für apps, die auf Versionen des .NET Framework vor dem .NET Framework 4.6.NET Framework 4.6abzielen, ist die Kultur der Aufgabe die Kultur des Threads, in dem die Aufgabe ausgeführt wird.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. Weitere Informationen finden Sie im Abschnitt "Kultur und aufgabenbasierte asynchrone Vorgänge" im CultureInfo Thema.For more information, see the "Culture and task-based asynchronous operations" section in the CultureInfo topic. Beachten Sie, dass Store-Apps dem Windows-Runtime unter Festlegen und erzielen der Standard Kultur folgen.Note that Store apps follow the Windows Runtime in setting and getting the default culture.

Für Vorgänge, die keinen Wert zurückgeben, verwenden Sie die Task -Klasse.For operations that do not return a value, you use the Task class. Verwenden Sie C# ab 7,0 die-Struktur für eine einfachere Aufgabe, bei der System.Threading.Tasks.ValueTask<TResult> es sich um einen Werttyp und nicht um einen Verweistyp handelt.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.

Konstruktoren

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

Initialisiert einen neuen Task<TResult> mit den angegebenen Werten für Funktion und Zustand.Initializes a new Task<TResult> with the specified function and state.

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

Initialisiert einen neuen Task<TResult> mit den angegebenen Werten für Aktion, Zustand und Optionen.Initializes a new Task<TResult> with the specified action, state, and options.

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

Initialisiert einen neuen Task<TResult> mit den angegebenen Werten für Aktion, Zustand und Optionen.Initializes a new Task<TResult> with the specified action, state, and options.

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

Initialisiert einen neuen Task<TResult> mit den angegebenen Werten für Aktion, Zustand und Optionen.Initializes a new Task<TResult> with the specified action, state, and options.

Task<TResult>(Func<TResult>)

Initialisiert einen neuen Task<TResult> mit der angegebenen Funktion.Initializes a new Task<TResult> with the specified function.

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

Initialisiert einen neuen Task<TResult> mit der angegebenen Funktion.Initializes a new Task<TResult> with the specified function.

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

Initialisiert einen neuen Task<TResult> mit den angegebenen Werten für Funktion und Erstellungsoptionen.Initializes a new Task<TResult> with the specified function and creation options.

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

Initialisiert einen neuen Task<TResult> mit den angegebenen Werten für Funktion und Erstellungsoptionen.Initializes a new Task<TResult> with the specified function and creation options.

Eigenschaften

AsyncState

Ruft das beim Erstellen des Task angegebene Zustandsobjekt ab, oder NULL, wenn kein Zustandsobjekt angegeben wurde.Gets the state object supplied when the Task was created, or null if none was supplied.

(Geerbt von Task)
CreationOptions

Ruft die zum Erstellen dieser Aufgabe verwendeten TaskCreationOptions ab.Gets the TaskCreationOptions used to create this task.

(Geerbt von Task)
Exception

Ruft die AggregateException ab, die die vorzeitige Beendigung der Task verursacht hat.Gets the AggregateException that caused the Task to end prematurely. Wenn der Task erfolgreich abgeschlossen wurde oder noch keine Ausnahmen ausgelöst wurden, wird null zurückgegeben.If the Task completed successfully or has not yet thrown any exceptions, this will return null.

(Geerbt von Task)
Factory

Bietet Zugriff auf Factorymethoden zum Erstellen und Konfigurieren von Task<TResult>-Instanzen.Provides access to factory methods for creating and configuring Task<TResult> instances.

Id

Ruft eine ID für diese Task-Instanz ab.Gets an ID for this Task instance.

(Geerbt von Task)
IsCanceled

Ruft einen Wert ab, der angibt, ob diese Task-Instanz die Ausführung aufgrund eines Abbruchs abgeschlossen hat.Gets whether this Task instance has completed execution due to being canceled.

(Geerbt von Task)
IsCompleted

Ruft einen Wert ab, der angibt, ob die Aufgabe abgeschlossen wurde.Gets a value that indicates whether the task has completed.

(Geerbt von Task)
IsCompletedSuccessfully

Ruft ab, ob der Task bis zum Abschluss ausgeführt wurde.Gets whether the task ran to completion.

(Geerbt von Task)
IsFaulted

Ruft einen Wert ab, der angibt, ob die Task aufgrund einer nicht behandelten Ausnahme abgeschlossen wurde.Gets whether the Task completed due to an unhandled exception.

(Geerbt von Task)
Result

Ruft den Ergebniswert dieses Task<TResult> ab.Gets the result value of this Task<TResult>.

Status

Ruft den TaskStatus dieser Aufgabe ab.Gets the TaskStatus of this task.

(Geerbt von Task)

Methoden

ConfigureAwait(Boolean)

Konfiguriert einen Awaiter, der verwendet wird, um diese Task<TResult> zu erwarten.Configures an awaiter used to await this Task<TResult>.

ContinueWith(Action<Task,Object>, Object)

Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Zustandsinformationen empfängt, und wird ausgeführt, wenn der Ziel-Task abgeschlossen ist.Creates a continuation that receives caller-supplied state information and executes when the target Task completes.

(Geerbt von Task)
ContinueWith(Action<Task,Object>, Object, CancellationToken)

Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Zustandsinformationen sowie ein Abbruchtoken empfängt und asynchron ausgeführt wird, wenn der Ziel-Task abgeschlossen wurde.Creates a continuation that receives caller-supplied state information and a cancellation token and that executes asynchronously when the target Task completes.

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

Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Zustandsinformationen sowie ein Abbruchtoken empfängt und ausgeführt wird, wenn der Ziel-Task abgeschlossen wurde.Creates a continuation that receives caller-supplied state information and a cancellation token and that executes when the target Task completes. Die Fortsetzung wird entsprechend einem Satz angegebener Bedingungen ausgeführt und verwendet einen angegebenen Zeitplan.The continuation executes based on a set of specified conditions and uses a specified scheduler.

(Geerbt von Task)
ContinueWith(Action<Task,Object>, Object, TaskContinuationOptions)

Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Zustandsinformationen empfängt, und wird ausgeführt, wenn der Ziel-Task abgeschlossen ist.Creates a continuation that receives caller-supplied state information and executes when the target Task completes. Die Fortsetzung wird entsprechend einem Satz angegebener Bedingungen ausgeführt.The continuation executes based on a set of specified conditions.

(Geerbt von Task)
ContinueWith(Action<Task,Object>, Object, TaskScheduler)

Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Zustandsinformationen empfängt, und wird asynchron ausgeführt, wenn der Ziel-Task abgeschlossen ist.Creates a continuation that receives caller-supplied state information and executes asynchronously when the target Task completes. Die Fortsetzung verwendet einen angegebenen Zeitplan.The continuation uses a specified scheduler.

(Geerbt von Task)
ContinueWith(Action<Task<TResult>,Object>, Object)

Erstellt eine Fortsetzung, an die Zustandsinformationen übergeben werden und die ausgeführt wird, wenn der Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that is passed state information and that executes when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that executes when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that executes when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that executes when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that executes when the target Task<TResult> completes.

ContinueWith(Action<Task<TResult>>)

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn die Zielaufgabe abgeschlossen wurde.Creates a continuation that executes asynchronously when the target task completes.

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

Erstellt eine abzubrechende Fortsetzung, die asynchron ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen wurde.Creates a cancelable continuation that executes asynchronously when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die nach der in continuationOptions angegebenen Bedingung ausgeführt wird.Creates a continuation that executes according the condition specified in continuationOptions.

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

Erstellt eine Fortsetzung, die nach der in continuationOptions angegebenen Bedingung ausgeführt wird.Creates a continuation that executes according the condition specified in continuationOptions.

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

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task<TResult> abgeschlossen wurde.Creates a continuation that executes asynchronously when the target Task<TResult> completes.

ContinueWith(Action<Task>)

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task abgeschlossen wurde.Creates a continuation that executes asynchronously when the target Task completes.

(Geerbt von Task)
ContinueWith(Action<Task>, CancellationToken)

Erstellt eine Fortsetzung, die ein Abbruchtoken empfängt und asynchron ausgeführt wird, wenn der Ziel-Task abgeschlossen wurde.Creates a continuation that receives a cancellation token and executes asynchronously when the target Task completes.

(Geerbt von Task)
ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Erstellt eine Fortsetzung, die, sobald die Zielaufgabe abgeschlossen ist, entsprechend den Angaben in TaskContinuationOptions ausgeführt wird.Creates a continuation that executes when the target task competes according to the specified TaskContinuationOptions. Die Fortsetzung empfängt ein Abbruchtoken und verwendet einen angegebenen Zeitplan.The continuation receives a cancellation token and uses a specified scheduler.

(Geerbt von Task)
ContinueWith(Action<Task>, TaskContinuationOptions)

Erstellt eine Fortsetzung, die, sobald die Zielaufgabe abgeschlossen ist, entsprechend den Angaben in TaskContinuationOptions ausgeführt wird.Creates a continuation that executes when the target task completes according to the specified TaskContinuationOptions.

(Geerbt von Task)
ContinueWith(Action<Task>, TaskScheduler)

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task abgeschlossen wurde.Creates a continuation that executes asynchronously when the target Task completes. Die Fortsetzung verwendet einen angegebenen Zeitplan.The continuation uses a specified scheduler.

(Geerbt von Task)
ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object)

Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that executes when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that executes when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that executes when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that executes when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Ziel-Task<TResult> abgeschlossen ist.Creates a continuation that executes when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task<TResult> abgeschlossen wurde.Creates a continuation that executes asynchronously when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task<TResult> abgeschlossen wurde.Creates a continuation that executes asynchronously when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die nach der in continuationOptions angegebenen Bedingung ausgeführt wird.Creates a continuation that executes according the condition specified in continuationOptions.

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

Erstellt eine Fortsetzung, die nach der in continuationOptions angegebenen Bedingung ausgeführt wird.Creates a continuation that executes according the condition specified in continuationOptions.

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

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task<TResult> abgeschlossen wurde.Creates a continuation that executes asynchronously when the target Task<TResult> completes.

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

Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Zustandsinformationen empfängt, und wird asynchron ausgeführt, wenn der Ziel-Task abgeschlossen ist, und gibt einen Wert zurück.Creates a continuation that receives caller-supplied state information and executes asynchronously when the target Task completes and returns a value.

(Geerbt von Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken)

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task abgeschlossen wurde, und gibt einen Wert zurück.Creates a continuation that executes asynchronously when the target Task completes and returns a value. Die Fortsetzung empfängt vom Aufrufer bereitgestellte Zustandsinformationen sowie ein Abbruchtoken.The continuation receives caller-supplied state information and a cancellation token.

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

Erstellt eine Fortsetzung, die entsprechend den angegebenen Aufgabenfortsetzungsoptionen ausgeführt wird, wenn der Ziel-Task abgeschlossen ist, und gibt einen Wert zurück.Creates a continuation that executes based on the specified task continuation options when the target Task completes and returns a value. Die Fortsetzung empfängt vom Aufrufer bereitgestellte Zustandsinformationen sowie ein Abbruchtoken und verwendet den angegebenen Zeitplan.The continuation receives caller-supplied state information and a cancellation token and uses the specified scheduler.

(Geerbt von Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskContinuationOptions)

Erstellt eine Fortsetzung, die entsprechend den angegebenen Aufgabenfortsetzungsoptionen ausgeführt wird, wenn der Ziel-Task abgeschlossen ist.Creates a continuation that executes based on the specified task continuation options when the target Task completes. Die Fortsetzung empfängt vom Aufrufer bereitgestellte Zustandsinformationen.The continuation receives caller-supplied state information.

(Geerbt von Task)
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskScheduler)

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task abgeschlossen wurde.Creates a continuation that executes asynchronously when the target Task completes. Die Fortsetzung empfängt vom Aufrufer bereitgestellte Zustandsinformationen und verwendet einen angegebenen Zeitplan.The continuation receives caller-supplied state information and uses a specified scheduler.

(Geerbt von Task)
ContinueWith<TResult>(Func<Task,TResult>)

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task<TResult> abgeschlossen wurde, und gibt einen Wert zurück.Creates a continuation that executes asynchronously when the target Task<TResult> completes and returns a value.

(Geerbt von Task)
ContinueWith<TResult>(Func<Task,TResult>, CancellationToken)

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task abgeschlossen wurde, und gibt einen Wert zurück.Creates a continuation that executes asynchronously when the target Task completes and returns a value. Die Fortsetzung empfängt ein Abbruchtoken.The continuation receives a cancellation token.

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

Erstellt eine Fortsetzung, die entsprechend den angegebenen Fortsetzungsoptionen ausgeführt wird, und gibt einen Wert zurück.Creates a continuation that executes according to the specified continuation options and returns a value. An die Fortsetzung wird ein Abbruchtoken übergeben, und sie verwendet einen angegebenen Zeitplan.The continuation is passed a cancellation token and uses a specified scheduler.

(Geerbt von Task)
ContinueWith<TResult>(Func<Task,TResult>, TaskContinuationOptions)

Erstellt eine Fortsetzung, die entsprechend den angegebenen Fortsetzungsoptionen ausgeführt wird, und gibt einen Wert zurück.Creates a continuation that executes according to the specified continuation options and returns a value.

(Geerbt von Task)
ContinueWith<TResult>(Func<Task,TResult>, TaskScheduler)

Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn der Ziel-Task abgeschlossen wurde, und gibt einen Wert zurück.Creates a continuation that executes asynchronously when the target Task completes and returns a value. Die Fortsetzung verwendet einen angegebenen Zeitplan.The continuation uses a specified scheduler.

(Geerbt von Task)
Dispose()

Gibt alle von der aktuellen Instanz der Task-Klasse verwendeten Ressourcen frei.Releases all resources used by the current instance of the Task class.

(Geerbt von Task)
Dispose(Boolean)

Verwirft den Task und gibt somit alle von ihm verwendeten nicht verwalteten Ressourcen frei.Disposes the Task, releasing all of its unmanaged resources.

(Geerbt von Task)
Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetAwaiter()

Ruft einen Awaiter ab, der verwendet wird, um dieses Task<TResult> zu erwarten.Gets an awaiter used to await this Task<TResult>.

GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
RunSynchronously()

Führt den Task synchron mit dem aktuellen TaskScheduler aus.Runs the Task synchronously on the current TaskScheduler.

(Geerbt von Task)
RunSynchronously(TaskScheduler)

Führt die Task synchron mit dem bereitgestellten TaskScheduler aus.Runs the Task synchronously on the TaskScheduler provided.

(Geerbt von Task)
Start()

Startet die Task und plant ihre Ausführung mit dem aktuellen TaskScheduler.Starts the Task, scheduling it for execution to the current TaskScheduler.

(Geerbt von Task)
Start(TaskScheduler)

Startet die Task und plant ihre Ausführung mit dem angegebenen TaskScheduler.Starts the Task, scheduling it for execution to the specified TaskScheduler.

(Geerbt von Task)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
Wait()

Wartet, bis der Task die Ausführung abschließt.Waits for the Task to complete execution.

(Geerbt von Task)
Wait(CancellationToken)

Wartet, bis der Task die Ausführung abschließt.Waits for the Task to complete execution. Der Wartevorgang wird beendet, wenn ein Abbruchtoken abgebrochen wird, bevor die Aufgabe abgeschlossen ist.The wait terminates if a cancellation token is canceled before the task completes.

(Geerbt von Task)
Wait(Int32)

Wartet darauf, dass die Task innerhalb einer angegebenen Anzahl an Millisekunden vollständig ausgeführt wird.Waits for the Task to complete execution within a specified number of milliseconds.

(Geerbt von Task)
Wait(Int32, CancellationToken)

Wartet, bis der Task die Ausführung abschließt.Waits for the Task to complete execution. Der Wartevorgang wird beendet, wenn ein Timeoutintervall abläuft oder ein Abbruchtoken abgebrochen wird, bevor die Aufgabe abgeschlossen ist.The wait terminates if a timeout interval elapses or a cancellation token is canceled before the task completes.

(Geerbt von Task)
Wait(TimeSpan)

Wartet darauf, dass die Task innerhalb eines angegebenen Zeitintervalls vollständig ausgeführt wird.Waits for the Task to complete execution within a specified time interval.

(Geerbt von Task)

Explizite Schnittstellenimplementierungen

IAsyncResult.AsyncWaitHandle

Ruft ein WaitHandle ab, das verwendet werden kann, um auf den Abschluss der Aufgabe zu warten.Gets a WaitHandle that can be used to wait for the task to complete.

(Geerbt von Task)
IAsyncResult.CompletedSynchronously

Ruft einen Wert ab, der angibt, ob der Vorgang synchron abgeschlossen wurde.Gets an indication of whether the operation completed synchronously.

(Geerbt von Task)

Erweiterungsmethoden

DispatcherOperationWait(Task)

Wartet, bis die zugrunde liegende DispatcherOperation abgeschlossen ist.Waits indefinitely for the underlying DispatcherOperation to complete.

DispatcherOperationWait(Task, TimeSpan)

Wartet die angegebene Zeitdauer auf den Abschluss der zugrunde liegenden DispatcherOperation.Waits for the specified amount of time for the underlying DispatcherOperation to complete.

IsDispatcherOperationTask(Task)

Gibt einen Wert zurück, mit dem angegeben wird, ob eine Task mit einer DispatcherOperation verknüpft ist.Returns a value that indicates whether this Task is associated with a DispatcherOperation.

AsAsyncAction(Task)

Gibt eine asynchrone Windows-Runtime-Aktion zurück, die eine begonnene Aufgabe darstellt.Returns a Windows Runtime asynchronous action that represents a started task.

AsAsyncOperation<TResult>(Task<TResult>)

Gibt einen asynchronen Windows-Runtime-Vorgang zurück, der eine begonnene Aufgabe darstellt, die ein Ergebnis zurückgibt.Returns a Windows Runtime asynchronous operation that represents a started task that returns a result.

Gilt für:

Threadsicherheit

Alle Elemente von Task<TResult>, mit Ausnahme Dispose()von, sind Thread sicher und können von mehreren Threads gleichzeitig verwendet werden.All members of Task<TResult>, except for Dispose(), are thread-safe and may be used from multiple threads concurrently.

Siehe auch