Task<TResult> Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje operację asynchroniczną, która może zwrócić wartość.
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 wygenerowanego przez ten Task<TResult>element .
- Dziedziczenie
Uwagi
Klasa Task<TResult> reprezentuje pojedynczą operację, która zwraca wartość i która zwykle jest wykonywana asynchronicznie. Task<TResult>obiekty są jednym z głównych składników asynchronicznego wzorca opartego na zadaniach po raz pierwszy wprowadzonego w .NET Framework 4. Ponieważ praca wykonywana przez Task<TResult> obiekt zwykle jest wykonywana asynchronicznie w wątku puli wątków, a nie synchronicznie w głównym wątku aplikacji, można użyć Status właściwości, a także IsCanceledwłaściwości , IsCompletedi IsFaulted w celu określenia stanu zadania. Najczęściej wyrażenie lambda służy do określania pracy, którą ma wykonać zadanie.
Task<TResult> wystąpienia mogą być tworzone na różne sposoby. Najbardziej typowym podejściem, które jest dostępne począwszy od .NET Framework 4.5, jest wywołanie metody statycznej Task.Run<TResult>(Func<TResult>) lubTask.Run<TResult>(Func<TResult>, CancellationToken). Metody te zapewniają prosty sposób uruchamiania zadania przy użyciu wartości domyślnych i bez uzyskiwania dodatkowych parametrów. W poniższym przykładzie Task.Run<TResult>(Func<TResult>) użyto metody , aby uruchomić pętlę zadania, a następnie wyświetlić liczbę iteracji pętli:
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
Alternatywą i najczęstszym sposobem uruchamiania zadania w .NET Framework 4 jest wywołanie metody statycznej TaskFactory.StartNew lubTaskFactory<TResult>.StartNew. Właściwość Task.Factory zwraca TaskFactory obiekt, a Task<TResult>.Factory właściwość zwraca TaskFactory<TResult> obiekt. Przeciążenia ich StartNew
metody umożliwiają przekazywanie argumentów, definiowanie opcji tworzenia zadań i określanie harmonogramu zadań. W poniższym przykładzie użyto TaskFactory<TResult>.StartNew(Func<TResult>) metody , aby uruchomić zadanie. Jest ona funkcjonalnie równoważna kodowi w poprzednim przykładzie.
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 Programowanie asynchroniczne oparte na zadaniach.
Klasa Task<TResult> udostępnia również konstruktory, które inicjują zadanie, ale nie są zaplanowane do wykonania. Ze względów Task.Run wydajności metody i Task.Factory.StartNew
są preferowanymi mechanizmami tworzenia i planowania zadań obliczeniowych, ale w scenariuszach, w których tworzenie i planowanie zadań musi być oddzielone, konstruktory mogą być używane, a metoda zadania może być następnie używana do planowania zadania Start do wykonania w późniejszym czasie.
Począwszy od aplikacji klasycznych, które są przeznaczone dla .NET Framework 4.6, kultura wątku, który tworzy i wywołuje zadanie staje się częścią kontekstu wątku. Oznacza to, że niezależnie od bieżącej kultury wątku, na którym wykonuje zadanie, bieżąca kultura zadania jest kulturą wątku wywołującego. W przypadku aplikacji przeznaczonych dla wersji .NET Framework przed .NET Framework 4.6 kultura zadania jest kulturą wątku, na którym jest wykonywane zadanie. Aby uzyskać więcej informacji, zobacz sekcję "Operacje asynchroniczne oparte na kulturze i zadaniach" w temacie CultureInfo . Pamiętaj, że aplikacje ze Sklepu są zgodne z środowisko wykonawcze systemu Windows w ustawieniu i uzyskiwaniu kultury domyślnej.
W przypadku operacji, które nie zwracają wartości, należy użyć Task klasy . Począwszy od języka C# 7.0, w przypadku bardziej uproszczonego zadania, które jest typem wartości, a nie typem referencyjnym, użyj System.Threading.Tasks.ValueTask<TResult> struktury.
Konstruktory
Task<TResult>(Func<Object,TResult>, Object) |
Inicjuje nową Task<TResult> z określoną funkcją i stanem. |
Task<TResult>(Func<Object,TResult>, Object, CancellationToken) |
Inicjuje nową Task<TResult> akcję, stan i opcje. |
Task<TResult>(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions) |
Inicjuje nową Task<TResult> akcję, stan i opcje. |
Task<TResult>(Func<Object,TResult>, Object, TaskCreationOptions) |
Inicjuje nową Task<TResult> akcję, stan i opcje. |
Task<TResult>(Func<TResult>) |
Inicjuje nową Task<TResult> z określoną funkcją. |
Task<TResult>(Func<TResult>, CancellationToken) |
Inicjuje nową Task<TResult> z określoną funkcją. |
Task<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions) |
Inicjuje nową Task<TResult> z określoną funkcją i opcjami tworzenia. |
Task<TResult>(Func<TResult>, TaskCreationOptions) |
Inicjuje nową Task<TResult> z określoną funkcją i opcjami tworzenia. |
Właściwości
AsyncState |
Pobiera obiekt stanu podany podczas Task tworzenia lub ma wartość null, jeśli nie podano żadnego. (Odziedziczone po Task) |
CreationOptions |
Pobiera element używany do utworzenia TaskCreationOptions tego zadania. (Odziedziczone po Task) |
Exception |
AggregateException Dostaje, który spowodował Task koniec przedwcześnie. Jeśli ukończono Task pomyślnie lub nie zgłosiło jeszcze żadnych wyjątków, zostanie zwrócona wartość |
Factory |
Pobiera metodę fabryki do tworzenia i konfigurowania Task<TResult> wystąpień. |
Id |
Pobiera identyfikator dla tego Task wystąpienia. (Odziedziczone po Task) |
IsCanceled |
Pobiera informację, czy to Task wystąpienie zakończyło wykonywanie z powodu anulowania. (Odziedziczone po Task) |
IsCompleted |
Pobiera wartość wskazującą, czy zadanie zostało ukończone. (Odziedziczone po Task) |
IsCompletedSuccessfully |
Pobiera informację o tym, czy zadanie było uruchamiane do ukończenia. (Odziedziczone po Task) |
IsFaulted |
Pobiera informację o zakończeniu Task z powodu nieobsługiwanego wyjątku. (Odziedziczone po Task) |
Result |
Pobiera wartość wyniku tej Task<TResult>wartości . |
Status |
TaskStatus Pobiera element tego zadania. (Odziedziczone po Task) |
Metody
ConfigureAwait(Boolean) |
Konfiguruje obiekt awaiter używany do oczekiwania na ten Task<TResult>element . |
ConfigureAwait(Boolean) |
Konfiguruje obiekt awaiter używany do oczekiwania na ten Taskelement . (Odziedziczone po Task) |
ConfigureAwait(ConfigureAwaitOptions) |
Konfiguruje obiekt awaiter używany do oczekiwania na ten Taskelement . |
ConfigureAwait(ConfigureAwaitOptions) |
Konfiguruje obiekt awaiter używany do oczekiwania na ten Taskelement . (Odziedziczone po Task) |
ContinueWith(Action<Task,Object>, Object) |
Tworzy kontynuację, która odbiera informacje o stanie dostarczone przez obiekt wywołujący i jest wykonywana po zakończeniu działania obiektu docelowego Task . (Odziedziczone po Task) |
ContinueWith(Action<Task,Object>, Object, CancellationToken) |
Tworzy kontynuację, która odbiera informacje o stanie dostarczonym przez obiekt wywołujący oraz token anulowania, który jest wykonywany asynchronicznie po zakończeniu działania obiektu docelowego Task . (Odziedziczone po Task) |
ContinueWith(Action<Task,Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Tworzy kontynuację, która odbiera informacje o stanie dostarczonym przez obiekt wywołujący oraz token anulowania, który jest wykonywany po zakończeniu działania obiektu docelowego Task . Kontynuacja jest wykonywana na podstawie zestawu określonych warunków i używa określonego harmonogramu. (Odziedziczone po Task) |
ContinueWith(Action<Task,Object>, Object, TaskContinuationOptions) |
Tworzy kontynuację, która odbiera informacje o stanie dostarczone przez obiekt wywołujący i jest wykonywana po zakończeniu działania obiektu docelowego Task . Kontynuacja jest wykonywana na podstawie zestawu określonych warunków. (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 działania obiektu docelowego Task . Kontynuacja używa określonego harmonogramu. (Odziedziczone po Task) |
ContinueWith(Action<Task<TResult>,Object>, Object) |
Tworzy kontynuację, która jest przekazywana informacji o stanie i jest wykonywana po zakończeniu elementu docelowego Task<TResult> . |
ContinueWith(Action<Task<TResult>,Object>, Object, CancellationToken) |
Tworzy kontynuację wykonywaną po zakończeniu działania obiektu docelowego Task<TResult> . |
ContinueWith(Action<Task<TResult>,Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Tworzy kontynuację wykonywaną po zakończeniu działania obiektu docelowego Task<TResult> . |
ContinueWith(Action<Task<TResult>,Object>, Object, TaskContinuationOptions) |
Tworzy kontynuację wykonywaną po zakończeniu działania obiektu docelowego Task<TResult> . |
ContinueWith(Action<Task<TResult>,Object>, Object, TaskScheduler) |
Tworzy kontynuację wykonywaną po zakończeniu działania obiektu docelowego Task<TResult> . |
ContinueWith(Action<Task<TResult>>) |
Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu zadania docelowego. |
ContinueWith(Action<Task<TResult>>, CancellationToken) |
Tworzy kontynuację z możliwością anulowania, która jest wykonywana asynchronicznie po zakończeniu elementu docelowego Task<TResult> . |
ContinueWith(Action<Task<TResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Tworzy kontynuację, która jest wykonywana zgodnie z warunkiem określonym w |
ContinueWith(Action<Task<TResult>>, TaskContinuationOptions) |
Tworzy kontynuację, która jest wykonywana zgodnie z warunkiem określonym w |
ContinueWith(Action<Task<TResult>>, TaskScheduler) |
Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu elementu docelowego Task<TResult> . |
ContinueWith(Action<Task>) |
Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu elementu docelowego Task . (Odziedziczone po Task) |
ContinueWith(Action<Task>, CancellationToken) |
Tworzy kontynuację, która odbiera token anulowania i wykonuje asynchronicznie po zakończeniu działania obiektu docelowego Task . (Odziedziczone po Task) |
ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Tworzy kontynuację wykonywaną, gdy zadanie docelowe konkuruje zgodnie z określonym TaskContinuationOptionselementem . Kontynuacja odbiera token anulowania i używa określonego harmonogramu. (Odziedziczone po Task) |
ContinueWith(Action<Task>, TaskContinuationOptions) |
Tworzy kontynuację wykonywaną po zakończeniu zadania docelowego zgodnie z określonym TaskContinuationOptions. (Odziedziczone po Task) |
ContinueWith(Action<Task>, TaskScheduler) |
Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu elementu docelowego Task . Kontynuacja używa określonego harmonogramu. (Odziedziczone po Task) |
ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object) |
Tworzy kontynuację wykonywaną po zakończeniu działania obiektu docelowego Task<TResult> . |
ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, CancellationToken) |
Tworzy kontynuację wykonywaną po zakończeniu działania obiektu docelowego Task<TResult> . |
ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Tworzy kontynuację wykonywaną po zakończeniu działania obiektu docelowego Task<TResult> . |
ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, TaskContinuationOptions) |
Tworzy kontynuację wykonywaną po zakończeniu działania obiektu docelowego Task<TResult> . |
ContinueWith<TNewResult>(Func<Task<TResult>,Object,TNewResult>, Object, TaskScheduler) |
Tworzy kontynuację wykonywaną po zakończeniu działania obiektu docelowego Task<TResult> . |
ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>) |
Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu elementu docelowego Task<TResult> . |
ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, CancellationToken) |
Tworzy kontynuację wykonywaną asynchronicznie po zakończeniu celu Task<TResult> . |
ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, CancellationToken, TaskContinuationOptions, TaskScheduler) |
Tworzy kontynuację wykonywaną zgodnie z warunkiem określonym w |
ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, TaskContinuationOptions) |
Tworzy kontynuację wykonywaną zgodnie z warunkiem określonym w |
ContinueWith<TNewResult>(Func<Task<TResult>,TNewResult>, TaskScheduler) |
Tworzy kontynuację wykonywaną asynchronicznie po zakończeniu celu Task<TResult> . |
ContinueWith<TResult>(Func<Task,Object,TResult>, Object) |
Tworzy kontynuację, która odbiera informacje o stanie dostarczone przez obiekt wywołujący i wykonuje asynchronicznie, gdy element docelowy Task zakończy działanie i zwróci wartość. (Odziedziczone po Task) |
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken) |
Tworzy kontynuację, która jest wykonywana asynchronicznie, gdy element docelowy Task zostanie ukończony i zwróci wartość. Kontynuacja odbiera informacje o stanie dostarczone przez obiekt wywołujący i token anulowania. (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, gdy element docelowy Task zostanie ukończony i zwróci wartość. Kontynuacja odbiera informacje o stanie dostarczone przez obiekt wywołujący i token anulowania i używa określonego harmonogramu. (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 elementu docelowego Task . Kontynuacja odbiera informacje o stanie dostarczone przez obiekt wywołujący. (Odziedziczone po Task) |
ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskScheduler) |
Tworzy kontynuację, która jest wykonywana asynchronicznie po zakończeniu elementu docelowego Task . Kontynuacja odbiera informacje o stanie dostarczone przez obiekt wywołujący i używa określonego harmonogramu. (Odziedziczone po Task) |
ContinueWith<TResult>(Func<Task,TResult>) |
Tworzy kontynuację, która jest wykonywana asynchronicznie, gdy element docelowy Task<TResult> zostanie ukończony i zwróci wartość. (Odziedziczone po Task) |
ContinueWith<TResult>(Func<Task,TResult>, CancellationToken) |
Tworzy kontynuację, która jest wykonywana asynchronicznie, gdy element docelowy Task zostanie ukończony i zwróci wartość. Kontynuacja otrzymuje token anulowania. (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ść. Kontynuacja jest przekazywana token anulowania i używa określonego harmonogramu. (Odziedziczone po Task) |
ContinueWith<TResult>(Func<Task,TResult>, TaskContinuationOptions) |
Tworzy kontynuację, która jest wykonywana zgodnie z określonymi opcjami kontynuacji i zwraca wartość. (Odziedziczone po Task) |
ContinueWith<TResult>(Func<Task,TResult>, TaskScheduler) |
Tworzy kontynuację, która jest wykonywana asynchronicznie, gdy element docelowy Task zostanie ukończony i zwróci wartość. Kontynuacja używa określonego harmonogramu. (Odziedziczone po Task) |
Dispose() |
Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy Task. (Odziedziczone po Task) |
Dispose(Boolean) |
Usuwa element Task, zwalniając wszystkie niezarządzane zasoby. (Odziedziczone po Task) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetAwaiter() |
Pobiera oczekiwany element służący do oczekiwania na ten Task<TResult>element . |
GetAwaiter() |
Pobiera obiekt awaiter używany do oczekiwania na ten Taskelement . (Odziedziczone po Task) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
RunSynchronously() |
Task Uruchamia synchronicznie TaskSchedulerbieżący element . (Odziedziczone po Task) |
RunSynchronously(TaskScheduler) |
Uruchamia je Task synchronicznie w podanym obszarze TaskScheduler . (Odziedziczone po Task) |
Start() |
Uruchamia element Task, planując jego wykonanie do bieżącego TaskSchedulerelementu . (Odziedziczone po Task) |
Start(TaskScheduler) |
Uruchamia element Task, planując jego wykonanie do określonego TaskSchedulerelementu . (Odziedziczone po Task) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Wait() |
Czeka na Task zakończenie wykonywania. (Odziedziczone po Task) |
Wait(CancellationToken) |
Czeka na Task zakończenie wykonywania. Oczekiwanie kończy się, jeśli token anulowania zostanie anulowany przed ukończeniem zadania. (Odziedziczone po Task) |
Wait(Int32) |
Czeka na Task ukończenie wykonywania w ciągu określonej liczby milisekund. (Odziedziczone po Task) |
Wait(Int32, CancellationToken) |
Czeka na Task zakończenie wykonywania. Oczekiwanie kończy się, jeśli upłynie interwał limitu czasu lub token anulowania zostanie anulowany przed zakończeniem zadania. (Odziedziczone po Task) |
Wait(TimeSpan) |
Oczekuje na Task ukończenie wykonywania w określonym przedziale czasu. (Odziedziczone po Task) |
Wait(TimeSpan, CancellationToken) |
Czeka na Task zakończenie wykonywania. (Odziedziczone po Task) |
WaitAsync(CancellationToken) |
Pobiera element Task<TResult> , który zostanie ukończony po Task<TResult> zakończeniu lub po żądaniu anulowania określonego CancellationToken . |
WaitAsync(CancellationToken) |
Pobiera element Task , który zostanie ukończony po Task zakończeniu lub po żądaniu anulowania określonego CancellationToken . (Odziedziczone po Task) |
WaitAsync(TimeSpan) |
Pobiera element Task<TResult> , który zostanie ukończony po Task<TResult> zakończeniu lub upływie określonego limitu czasu. |
WaitAsync(TimeSpan) |
Pobiera element Task , który zostanie ukończony po Task zakończeniu lub upływie określonego limitu czasu. (Odziedziczone po Task) |
WaitAsync(TimeSpan, CancellationToken) |
Pobiera element Task<TResult> , który zostanie ukończony po Task<TResult> zakończeniu, po upływie określonego limitu czasu lub po żądaniu anulowania określonego CancellationToken limitu czasu. |
WaitAsync(TimeSpan, CancellationToken) |
Pobiera element Task , który zostanie ukończony po Task zakończeniu, upływie określonego limitu czasu lub po żądaniu anulowania określonego CancellationToken limitu czasu. (Odziedziczone po Task) |
WaitAsync(TimeSpan, TimeProvider) |
Pobiera element Task<TResult> , który zostanie ukończony po Task<TResult> zakończeniu lub upływie określonego limitu czasu. |
WaitAsync(TimeSpan, TimeProvider) |
Pobiera element Task , który zostanie ukończony po Task zakończeniu lub upływie określonego limitu czasu. (Odziedziczone po Task) |
WaitAsync(TimeSpan, TimeProvider, CancellationToken) |
Pobiera element Task<TResult> , który zostanie ukończony po Task<TResult> zakończeniu, po upływie określonego limitu czasu lub po żądaniu anulowania określonego CancellationToken limitu czasu. |
WaitAsync(TimeSpan, TimeProvider, CancellationToken) |
Pobiera element Task , który zostanie ukończony po Task zakończeniu, upływie określonego limitu czasu lub po żądaniu anulowania określonego CancellationToken limitu czasu. (Odziedziczone po Task) |
Jawne implementacje interfejsu
IAsyncResult.AsyncWaitHandle |
Pobiera element WaitHandle , który może służyć do oczekiwania na ukończenie zadania. (Odziedziczone po Task) |
IAsyncResult.CompletedSynchronously |
Pobiera wskazanie, czy operacja została ukończona synchronicznie. (Odziedziczone po Task) |
Metody rozszerzania
AsyncWait<TException>(Task) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
AwaitWithTimeout(Task, TimeSpan) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
ToApm(Task, AsyncCallback, Object) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
ToApm<TResult>(Task<TResult>, AsyncCallback, Object) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
ToApmEnd(IAsyncResult) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
ToApmEnd<TResult>(IAsyncResult) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
Wait(Task, TimeSpan, Action<Exception,TimeSpan,String>, String) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
WaitForCompletion(Task) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
WaitForCompletion<TResult>(Task<TResult>) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
WaitForCompletionNoSpin(Task) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
WaitForCompletionNoSpin(Task, TimeSpan) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
WaitForCompletionNoSpin<TResult>(Task<TResult>) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
WaitAsync(Task, TimeSpan, TimeProvider, CancellationToken) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
WaitAsync<TResult>(Task<TResult>, TimeSpan, TimeProvider, CancellationToken) |
Reprezentuje operację asynchroniczną, która może zwrócić wartość. |
DispatcherOperationWait(Task) |
Czeka na zakończenie bazowego DispatcherOperation . |
DispatcherOperationWait(Task, TimeSpan) |
Czeka na określoną ilość czasu ukończenia bazowego DispatcherOperation . |
IsDispatcherOperationTask(Task) |
Zwraca wartość wskazującą, czy jest ona Task skojarzona z elementem DispatcherOperation. |
AsAsyncAction(Task) |
Zwraca środowisko wykonawcze systemu Windows akcję asynchroniczną reprezentującą rozpoczęte zadanie. |
AsAsyncOperation<TResult>(Task<TResult>) |
Zwraca operację asynchroniczną środowisko wykonawcze systemu Windows, która reprezentuje uruchomione zadanie zwracające wynik. |
Dotyczy
Bezpieczeństwo wątkowe
Wszystkie elementy członkowskie , Task<TResult>z wyjątkiem Dispose(), są bezpieczne wątkowo i mogą być używane z wielu wątków jednocześnie.
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla