Task<TResult> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen asynchronen Vorgang dar, der einen Wert zurückgeben kann.
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 Typ des ergebnisses, das von diesem Task<TResult>erzeugt wird.
- Vererbung
Hinweise
Die Task<TResult> Klasse stellt einen einzelnen Vorgang dar, der einen Wert zurückgibt und normalerweise asynchron ausgeführt wird. Task<TResult> Objekte sind eine der zentralen Komponenten des aufgabenbasierten asynchronen Musters , das in .NET Framework 4 eingeführt wurde. Da die von einem Task<TResult>-Objekt ausgeführte Arbeit typischerweise asynchron in einem Threadpool-Thread und nicht synchron im Hauptanwendungsthread ausgeführt wird, können Sie die Status-Eigenschaft sowie die Eigenschaften IsCanceled, IsCompleted und IsFaulted verwenden, um den Status einer Aufgabe zu bestimmen. In der Regel wird ein Lambda-Ausdruck verwendet, um die Auszuführende Arbeit anzugeben.
Task<TResult> Instanzen können auf unterschiedliche Weise erstellt werden. Der am häufigsten verwendete Ansatz, der ab .NET Framework 4.5 verfügbar ist, besteht darin, die statische Task.Run<TResult>(Func<TResult>) oder Task.Run<TResult>(Func<TResult>, CancellationToken) Methode aufzurufen. Diese Methoden bieten eine einfache Möglichkeit zum Starten einer Aufgabe mithilfe von Standardwerten und ohne Abrufen zusätzlicher Parameter. Im folgenden Beispiel wird die Task.Run<TResult>(Func<TResult>) Methode verwendet, um eine Aufgabe zu starten, die schleift, und zeigt dann die Anzahl der Schleifeniterationen an:
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 am häufigsten verwendete Methode zum Starten einer Aufgabe in .NET Framework 4 ist das Aufrufen der statischen TaskFactory.StartNew oder TaskFactory<TResult>.StartNew Methode. Die Task.Factory Eigenschaft gibt ein TaskFactory Objekt zurück, und die Task<TResult>.Factory Eigenschaft gibt ein TaskFactory<TResult> Objekt zurück. Überladungen ihrer StartNew Methode ermöglichen es Ihnen, Argumente zu übergeben, Aufgabenerstellungsoptionen zu definieren und einen Aufgabenplaner anzugeben. Im folgenden Beispiel wird die TaskFactory<TResult>.StartNew(Func<TResult>) Methode verwendet, um eine Aufgabe zu starten. Sie entspricht funktional dem Code im vorherigen Beispiel.
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.
Die Task<TResult> Klasse stellt auch Konstruktoren bereit, die die Aufgabe initialisieren, aber nicht für die Ausführung planen. Aus Leistungsgründen sind die Methoden Task.Factory.StartNew die Task.Run bevorzugten Mechanismen zum Erstellen und Planen von Rechenvorgängen, aber für Szenarien, in denen die Erstellung und Planung von Vorgängen getrennt sein müssen, können die Konstruktoren verwendet werden, und die Methode des Vorgangs Start kann dann verwendet werden, um den Vorgang für die Ausführung zu einem späteren Zeitpunkt zu planen.
Beginnend mit Desktop-Apps, die auf .NET Framework 4.6 abzielen, wird die Kultur des Threads, der eine Aufgabe erstellt und aufruft, Teil des Threadkontexts. Das heißt, unabhängig von der aktuellen Kultur des Threads, auf dem die Aufgabe ausgeführt wird, ist die aktuelle Kultur der Aufgabe die Kultur des aufrufenden Threads. Bei Apps, die auf .NET Framework-Versionen vor .NET Framework 4.6 abzielen, ist die Kultur der Aufgabe die Kultur des Threads, auf dem die Aufgabe ausgeführt wird. Weitere Informationen finden Sie im Abschnitt "Kultur und aufgabenbasierte asynchrone Vorgänge" im CultureInfo Thema. Beachten Sie, dass Store-Apps den Windows-Runtime-Einstellungen folgen und die Standardkultur abrufen.
Für Vorgänge, die keinen Wert zurückgeben, verwenden Sie die Task Klasse. Verwenden Sie ab C# 7.0 für einen einfacheren Vorgang, der einen Werttyp und nicht einen Verweistyp ist, die System.Threading.Tasks.ValueTask<TResult> Struktur.
Konstruktoren
| Name | Beschreibung |
|---|---|
| Task<TResult>(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions) |
Initialisiert ein neues Task<TResult> mit der angegebenen Aktion, dem angegebenen Zustand und den Optionen. |
| Task<TResult>(Func<Object,TResult>, Object, CancellationToken) |
Initialisiert ein neues Task<TResult> mit der angegebenen Aktion, dem angegebenen Zustand und den Optionen. |
| Task<TResult>(Func<Object,TResult>, Object, TaskCreationOptions) |
Initialisiert ein neues Task<TResult> mit der angegebenen Aktion, dem angegebenen Zustand und den Optionen. |
| Task<TResult>(Func<Object,TResult>, Object) |
Initialisiert ein neues Task<TResult> mit der angegebenen Funktion und dem angegebenen Zustand. |
| Task<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions) |
Initialisiert ein neues Task<TResult> mit den angegebenen Funktionen und Erstellungsoptionen. |
| Task<TResult>(Func<TResult>, CancellationToken) |
Initialisiert ein neues Task<TResult> mit der angegebenen Funktion. |
| Task<TResult>(Func<TResult>, TaskCreationOptions) |
Initialisiert ein neues Task<TResult> mit den angegebenen Funktionen und Erstellungsoptionen. |
| Task<TResult>(Func<TResult>) |
Initialisiert ein neues Task<TResult> mit der angegebenen Funktion. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AsyncState |
Ruft das Zustandsobjekt ab, das angegeben wurde, als das Task Erstellt wurde, oder null, wenn keine angegeben wurde. (Geerbt von Task) |
| CreationOptions |
Ruft die TaskCreationOptions zum Erstellen dieser Aufgabe verwendete Aufgabe ab. (Geerbt von Task) |
| Exception |
Ruft die, die AggregateException das Vorzeitige Ende verursacht hat Task . Wenn der Task Abgeschlossene erfolgreich abgeschlossen wurde oder noch keine Ausnahmen ausgelöst hat, wird dies zurückgegeben |
| Factory |
Ruft eine Factorymethode zum Erstellen und Konfigurieren von Task<TResult> Instanzen ab. |
| Id |
Ruft eine ID für diese Task Instanz ab. (Geerbt von Task) |
| IsCanceled |
Ruft ab, ob diese Task Instanz die Ausführung abgeschlossen hat, weil sie abgebrochen wurde. (Geerbt von Task) |
| IsCompleted |
Ruft einen Wert ab, der angibt, ob die Aufgabe abgeschlossen wurde. (Geerbt von Task) |
| IsCompletedSuccessfully |
Ruft ab, ob die Aufgabe abgeschlossen wurde. (Geerbt von Task) |
| IsFaulted |
Ruft ab, ob der Task Abschluss aufgrund einer unbehandelten Ausnahme abgeschlossen ist. (Geerbt von Task) |
| Result |
Ruft den Ergebniswert dieses Task<TResult>Werts ab. |
| Status |
Ruft den TaskStatus dieser Aufgabe ab. (Geerbt von Task) |
Methoden
| Name | Beschreibung |
|---|---|
| ConfigureAwait(Boolean) |
Konfiguriert einen Awaiter, der für dieses Task<TResult>Warten verwendet wird. |
| ConfigureAwait(ConfigureAwaitOptions) |
Konfiguriert einen Awaiter, der für dieses TaskWarten verwendet wird. |
| ContinueWith(Action<Task,Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Statusinformationen und ein Abbruchtoken empfängt und nach Abschluss des Ziels Task ausgeführt wird. Die Fortsetzung wird basierend auf einer Reihe von angegebenen Bedingungen ausgeführt und verwendet einen angegebenen Zeitplan. (Geerbt von Task) |
| ContinueWith(Action<Task,Object>, Object, CancellationToken) |
Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Statusinformationen und ein Abbruchtoken empfängt und asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist. (Geerbt von Task) |
| ContinueWith(Action<Task,Object>, Object, TaskContinuationOptions) |
Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Statusinformationen empfängt und nach Abschluss des Ziels Task ausgeführt wird. Die Fortsetzung wird basierend auf einer Reihe von angegebenen Bedingungen ausgeführt. (Geerbt von Task) |
| ContinueWith(Action<Task,Object>, Object, TaskScheduler) |
Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Statusinformationen empfängt und asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist. Die Fortsetzung verwendet einen angegebenen Zeitplan. (Geerbt von Task) |
| ContinueWith(Action<Task,Object>, Object) |
Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Statusinformationen empfängt und nach Abschluss des Ziels Task ausgeführt wird. (Geerbt von Task) |
| ContinueWith(Action<Task<TResult>,Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Erstellt eine Fortsetzung, die nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith(Action<Task<TResult>,Object>, Object, CancellationToken) |
Erstellt eine Fortsetzung, die nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith(Action<Task<TResult>,Object>, Object, TaskContinuationOptions) |
Erstellt eine Fortsetzung, die nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith(Action<Task<TResult>,Object>, Object, TaskScheduler) |
Erstellt eine Fortsetzung, die nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith(Action<Task<TResult>,Object>, Object) |
Erstellt eine Fortsetzung, die Statusinformationen übergeben wird und nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith(Action<Task<TResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Erstellt eine Fortsetzung, die gemäß der in |
| ContinueWith(Action<Task<TResult>>, CancellationToken) |
Erstellt eine abbruchfähige Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task<TResult> abgeschlossen ist. |
| ContinueWith(Action<Task<TResult>>, TaskContinuationOptions) |
Erstellt eine Fortsetzung, die gemäß der in |
| ContinueWith(Action<Task<TResult>>, TaskScheduler) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task<TResult> abgeschlossen ist. |
| ContinueWith(Action<Task<TResult>>) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn die Zielaufgabe abgeschlossen ist. |
| ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Zielaufgabe gemäß der angegebenen TaskContinuationOptions. Die Fortsetzung empfängt ein Abbruchtoken und verwendet einen angegebenen Zeitplan. (Geerbt von Task) |
| ContinueWith(Action<Task>, CancellationToken) |
Erstellt eine Fortsetzung, die ein Abbruchtoken empfängt und asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist. (Geerbt von Task) |
| ContinueWith(Action<Task>, TaskContinuationOptions) |
Erstellt eine Fortsetzung, die ausgeführt wird, wenn die Zielaufgabe gemäß der angegebenen Aufgabe TaskContinuationOptionsabgeschlossen wird. (Geerbt von Task) |
| ContinueWith(Action<Task>, TaskScheduler) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist. Die Fortsetzung verwendet einen angegebenen Zeitplan. (Geerbt von Task) |
| ContinueWith(Action<Task>) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist. (Geerbt von Task) |
| ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Erstellt eine Fortsetzung, die nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, CancellationToken) |
Erstellt eine Fortsetzung, die nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, TaskContinuationOptions) |
Erstellt eine Fortsetzung, die nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, TaskScheduler) |
Erstellt eine Fortsetzung, die nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object) |
Erstellt eine Fortsetzung, die nach Abschluss des Ziels Task<TResult> ausgeführt wird. |
| ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Erstellt eine Fortsetzung, die gemäß der in |
| ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, CancellationToken) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task<TResult> abgeschlossen ist. |
| ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, TaskContinuationOptions) |
Erstellt eine Fortsetzung, die gemäß der in |
| ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, TaskScheduler) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task<TResult> abgeschlossen ist. |
| ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task<TResult> abgeschlossen ist. |
| ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Erstellt eine Fortsetzung, die basierend auf den angegebenen Vorgangsfortsetzungsoptionen ausgeführt wird, wenn das Ziel Task abgeschlossen ist und einen Wert zurückgibt. Die Fortsetzung empfängt vom Aufrufer bereitgestellte Statusinformationen und ein Abbruchtoken und verwendet den angegebenen Zeitplan. (Geerbt von Task) |
| ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist und einen Wert zurückgibt. Die Fortsetzung empfängt vom Aufrufer bereitgestellte Statusinformationen und ein Abbruchtoken. (Geerbt von Task) |
| ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskContinuationOptions) |
Erstellt eine Fortsetzung, die basierend auf den angegebenen Vorgangsfortsetzungsoptionen ausgeführt wird, wenn das Ziel Task abgeschlossen ist. Die Fortsetzung empfängt vom Aufrufer bereitgestellte Statusinformationen. (Geerbt von Task) |
| ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskScheduler) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist. Die Fortsetzung empfängt vom Aufrufer bereitgestellte Statusinformationen und verwendet einen angegebenen Zeitplan. (Geerbt von Task) |
| ContinueWith<TResult>(Func<Task,Object,TResult>, Object) |
Erstellt eine Fortsetzung, die vom Aufrufer bereitgestellte Statusinformationen empfängt und asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist und einen Wert zurückgibt. (Geerbt von Task) |
| ContinueWith<TResult>(Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Erstellt eine Fortsetzung, die gemäß den angegebenen Fortsetzungsoptionen ausgeführt wird und einen Wert zurückgibt. Die Fortsetzung wird ein Abbruchtoken übergeben und verwendet einen angegebenen Zeitplan. (Geerbt von Task) |
| ContinueWith<TResult>(Func<Task,TResult>, CancellationToken) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist und einen Wert zurückgibt. Die Fortsetzung empfängt ein Abbruchtoken. (Geerbt von Task) |
| ContinueWith<TResult>(Func<Task,TResult>, TaskContinuationOptions) |
Erstellt eine Fortsetzung, die gemäß den angegebenen Fortsetzungsoptionen ausgeführt wird und einen Wert zurückgibt. (Geerbt von Task) |
| ContinueWith<TResult>(Func<Task,TResult>, TaskScheduler) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task abgeschlossen ist und einen Wert zurückgibt. Die Fortsetzung verwendet einen angegebenen Zeitplan. (Geerbt von Task) |
| ContinueWith<TResult>(Func<Task,TResult>) |
Erstellt eine Fortsetzung, die asynchron ausgeführt wird, wenn das Ziel Task<TResult> abgeschlossen ist und einen Wert zurückgibt. (Geerbt von Task) |
| Dispose() |
Gibt alle Ressourcen frei, die von der aktuellen Instanz der Task Klasse verwendet werden. (Geerbt von Task) |
| Dispose(Boolean) |
Entfernt die Veröffentlichung aller nicht verwalteten Ressourcen.Disposes the Task, release all of its unmanaged resources. (Geerbt von Task) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetAwaiter() |
Ruft einen Awaiter ab, der für dieses Task<TResult>Warten verwendet wird. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| RunSynchronously() |
Führt die Task synchrone Ausführung auf dem aktuellen TaskScheduler. (Geerbt von Task) |
| RunSynchronously(TaskScheduler) |
Führt die Task synchrone Ausführung für die TaskScheduler bereitgestellte Funktion aus. (Geerbt von Task) |
| Start() |
Startet den Task, die Planung für die Ausführung bis zur aktuellen TaskScheduler. (Geerbt von Task) |
| Start(TaskScheduler) |
Startet den Task, der sie für die Ausführung an die angegebene TaskScheduler. (Geerbt von Task) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
| Wait() |
Wartet, bis die Task Ausführung abgeschlossen ist. (Geerbt von Task) |
| Wait(CancellationToken) |
Wartet, bis die Task Ausführung abgeschlossen ist. Die Wartezeit wird beendet, wenn ein Abbruchtoken abgebrochen wird, bevor die Aufgabe abgeschlossen ist. (Geerbt von Task) |
| Wait(Int32, CancellationToken) |
Wartet, bis die Task Ausführung abgeschlossen ist. Die Wartezeit wird beendet, wenn ein Timeoutintervall verstrichen ist oder ein Abbruchtoken abgebrochen wird, bevor die Aufgabe abgeschlossen wird. (Geerbt von Task) |
| Wait(Int32) |
Wartet auf den Abschluss der Task Ausführung innerhalb einer angegebenen Anzahl von Millisekunden. (Geerbt von Task) |
| Wait(TimeSpan, CancellationToken) |
Wartet, bis die Task Ausführung abgeschlossen ist. (Geerbt von Task) |
| Wait(TimeSpan) |
Wartet auf den Abschluss der Task Ausführung innerhalb eines angegebenen Zeitintervalls. (Geerbt von Task) |
| WaitAsync(CancellationToken) |
Ruft ein Task<TResult> , das abgeschlossen wird, wenn dies Task<TResult> abgeschlossen ist oder wenn der angegebene CancellationToken Abbruch angefordert wurde. |
| WaitAsync(TimeSpan, CancellationToken) |
Ruft ein Task<TResult> , das abgeschlossen wird, wenn dies Task<TResult> abgeschlossen ist, wann das angegebene Timeout abläuft oder wenn der angegebene CancellationToken Abbruch angefordert wurde. |
| WaitAsync(TimeSpan, TimeProvider, CancellationToken) |
Ruft ein Task<TResult> , das abgeschlossen wird, wenn dies Task<TResult> abgeschlossen ist, wann das angegebene Timeout abläuft oder wenn der angegebene CancellationToken Abbruch angefordert wurde. |
| WaitAsync(TimeSpan, TimeProvider) |
Ruft ein Task<TResult> , das abgeschlossen wird, wenn dies Task<TResult> abgeschlossen ist oder wenn das angegebene Timeout abläuft. |
| WaitAsync(TimeSpan) |
Ruft ein Task<TResult> , das abgeschlossen wird, wenn dies Task<TResult> abgeschlossen ist oder wenn das angegebene Timeout abläuft. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IAsyncResult.AsyncWaitHandle |
Ruft ein WaitHandle , das verwendet werden kann, um auf den Abschluss der Aufgabe zu warten. (Geerbt von Task) |
| IAsyncResult.CompletedSynchronously |
Ruft einen Hinweis darauf ab, ob der Vorgang synchron abgeschlossen wurde. (Geerbt von Task) |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| AsAsyncAction(Task) |
Gibt eine asynchrone Windows-Runtime-Aktion zurück, die eine gestartete Aufgabe darstellt. |
| AsAsyncOperation<TResult>(Task<TResult>) |
Gibt einen asynchronen Windows-Runtime-Vorgang zurück, der eine gestartete Aufgabe darstellt, die ein Ergebnis zurückgibt. |
| DispatcherOperationWait(Task, TimeSpan) |
Wartet auf den angegebenen Zeitraum, bis der zugrunde liegende DispatcherOperation Vorgang abgeschlossen ist. |
| DispatcherOperationWait(Task) |
Wartet auf unbestimmte Zeit, bis der zugrunde liegende DispatcherOperation Vorgang abgeschlossen ist. |
| IsDispatcherOperationTask(Task) |
Gibt einen Wert zurück, der angibt, ob dies Task einem DispatcherOperation. |
Gilt für:
Threadsicherheit
Alle Member von , mit Ausnahme Dispose()von Task<TResult>, sind threadsicher und können von mehreren Threads gleichzeitig verwendet werden.