Udostępnij za pośrednictwem


Task<TResult> Klasa

Definicja

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>.

Dziedziczenie
Task<TResult>

Uwagi

Klasa Task<TResult> reprezentuje pojedynczą operację, która zwraca wartość i zwykle wykonuje asynchronicznie. Task<TResult> obiekty są jednym z głównych składników wzorca asynchronicznego opartego na zadaniach wprowadzonego po raz pierwszy w programie .NET Framework 4. Ponieważ praca wykonywana przez obiekt Task<TResult> zwykle wykonuje asynchronicznie na wątku puli wątków, a nie synchronicznie w głównym wątku aplikacji, można użyć właściwości Status, a także właściwości IsCanceled, IsCompletedi IsFaulted, aby określić stan 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 programu .NET Framework 4.5, jest wywołanie metody statycznej Task.Run<TResult>(Func<TResult>) lub Task.Run<TResult>(Func<TResult>, CancellationToken). Te metody zapewniają prosty sposób uruchamiania zadania przy użyciu wartości domyślnych i bez uzyskiwania dodatkowych parametrów. W poniższym przykładzie użyto metody Task.Run<TResult>(Func<TResult>), aby uruchomić zadanie, które wykonuje pętlę, a następnie wyświetla 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 programie .NET Framework 4 jest wywołanie metody statycznej TaskFactory.StartNew lub TaskFactory<TResult>.StartNew. Właściwość Task.Factory zwraca obiekt TaskFactory, a właściwość Task<TResult>.Factory zwraca obiekt TaskFactory<TResult>. 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 metody TaskFactory<TResult>.StartNew(Func<TResult>) do uruchomienia zadania. 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 Asynchroniczne programowanie oparte na zadaniach.

Klasa Task<TResult> udostępnia również konstruktory, które inicjują zadanie, ale nie są zaplanowane do wykonania. Ze względu na wydajność metody Task.Run i Task.Factory.StartNew są preferowanymi mechanizmami tworzenia i planowania zadań obliczeniowych, ale w scenariuszach, w których należy oddzielić tworzenie i planowanie zadań, konstruktory mogą być używane, a Start metody zadania mogą być następnie używane do planowania zadania do wykonania w późniejszym czasie.

Począwszy od aplikacji klasycznych przeznaczonych dla programu .NET Framework 4.6, kultura wątku tworzącego i wywołującego 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 programu .NET Framework przed programem .NET Framework 4.6 kultura zadania jest kulturą wątku, na którym wykonuje 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 ze środowiskiem uruchomieniowym systemu Windows w ustawieniu i uzyskiwaniu kultury domyślnej.

W przypadku operacji, które nie zwracają wartości, należy użyć klasy Task. Począwszy od języka C# 7.0, w przypadku bardziej lekkiego zadania, które jest typem wartości, a nie typem referencyjnym, użyj struktury System.Threading.Tasks.ValueTask<TResult>.

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> z określoną akcją, stanem i opcjami.

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

Inicjuje nową Task<TResult> z określoną akcją, stanem i opcjami.

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

Inicjuje nową Task<TResult> z określoną akcją, stanem i opcjami.

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ślonymi opcjami funkcji i tworzenia.

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

Inicjuje nową Task<TResult> z określonymi opcjami funkcji i tworzenia.

Właściwości

AsyncState

Pobiera obiekt stanu podany podczas tworzenia Task lub ma wartość null, jeśli żadna z nich nie została podana.

(Odziedziczone po Task)
CreationOptions

Pobiera TaskCreationOptions użyte do utworzenia tego zadania.

(Odziedziczone po Task)
Exception

Pobiera AggregateException, które spowodowały przedwczesne zakończenie Task. Jeśli Task została ukończona pomyślnie lub nie zgłosiła jeszcze żadnych wyjątków, zostanie zwrócona null.

(Odziedziczone po Task)
Factory

Pobiera metodę fabryki do tworzenia i konfigurowania wystąpień Task<TResult>.

Id

Pobiera identyfikator dla tego wystąpienia Task.

(Odziedziczone po Task)
IsCanceled

Pobiera, czy to wystąpienie Task zostało ukończone z powodu anulowania.

(Odziedziczone po Task)
IsCompleted

Pobiera wartość wskazującą, czy zadanie zostało ukończone.

(Odziedziczone po Task)
IsCompletedSuccessfully

Pobiera, czy zadanie było uruchamiane do ukończenia.

(Odziedziczone po Task)
IsFaulted

Pobiera, czy Task ukończone z powodu nieobsługiwanego wyjątku.

(Odziedziczone po Task)
Result

Pobiera wartość wyniku tego Task<TResult>.

Status

Pobiera TaskStatus tego zadania.

(Odziedziczone po Task)

Metody

ConfigureAwait(Boolean)

Konfiguruje obiekt awaiter używany do oczekiwania na ten Task<TResult>.

ConfigureAwait(Boolean)

Konfiguruje obiekt awaiter używany do oczekiwania na ten Task.

(Odziedziczone po Task)
ConfigureAwait(ConfigureAwaitOptions)

Konfiguruje obiekt awaiter używany do oczekiwania na ten Task.

ConfigureAwait(ConfigureAwaitOptions)

Konfiguruje obiekt awaiter używany do oczekiwania na ten Task.

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

Tworzy kontynuację odbierającą informacje o stanie dostarczone przez obiekt wywołujący i wykonywaną po zakończeniu Task docelowej.

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

Tworzy kontynuację, która odbiera informacje o stanie dostarczonym przez obiekt wywołujący i token anulowania oraz wykonuje asynchronicznie po zakończeniu Task docelowej.

(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 i token anulowania oraz jest wykonywana po zakończeniu Task docelowej. 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ę odbierającą informacje o stanie dostarczone przez obiekt wywołujący i wykonywaną po zakończeniu Task docelowej. 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 Task docelowej. Kontynuacja używa określonego harmonogramu.

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

Tworzy kontynuację przekazywaną informację o stanie i wykonywaną po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną po zakończeniu Task<TResult> docelowej.

ContinueWith(Action<Task<TResult>>)

Tworzy kontynuację wykonywaną 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 Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną zgodnie z warunkiem określonym w continuationOptions.

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

Tworzy kontynuację wykonywaną zgodnie z warunkiem określonym w continuationOptions.

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

Tworzy kontynuację wykonywaną asynchronicznie po zakończeniu Task<TResult> docelowej.

ContinueWith(Action<Task>)

Tworzy kontynuację wykonywaną asynchronicznie po zakończeniu Task docelowej.

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

Tworzy kontynuację, która odbiera token anulowania i wykonuje asynchronicznie po zakończeniu Task docelowej.

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

Tworzy kontynuację wykonywaną, gdy zadanie docelowe konkuruje zgodnie z określonym TaskContinuationOptions. 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ę wykonywaną asynchronicznie po zakończeniu Task docelowej. Kontynuacja używa określonego harmonogramu.

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

Tworzy kontynuację wykonywaną po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną asynchronicznie po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną asynchronicznie po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację wykonywaną zgodnie z warunkiem określonym w continuationOptions.

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

Tworzy kontynuację wykonywaną zgodnie z warunkiem określonym w continuationOptions.

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

Tworzy kontynuację wykonywaną asynchronicznie po zakończeniu Task<TResult> docelowej.

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

Tworzy kontynuację, która odbiera informacje o stanie dostarczonym przez obiekt wywołujący i wykonuje asynchronicznie po zakończeniu Task docelowej i zwraca wartość.

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

Tworzy kontynuację, która wykonuje asynchronicznie po zakończeniu Task docelowej i zwraca 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ę wykonywaną na podstawie określonych opcji kontynuacji zadania, gdy Task docelowa zostanie ukończona 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ę wykonywaną na podstawie określonych opcji kontynuacji zadania po zakończeniu Task docelowej. Kontynuacja odbiera informacje o stanie dostarczone przez obiekt wywołujący.

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

Tworzy kontynuację wykonywaną asynchronicznie po zakończeniu Task docelowej. 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 wykonuje asynchronicznie po zakończeniu Task<TResult> docelowej i zwraca wartość.

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

Tworzy kontynuację, która wykonuje asynchronicznie po zakończeniu Task docelowej i zwraca wartość. Kontynuacja otrzymuje token anulowania.

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

Tworzy kontynuację wykonywaną 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ę wykonywaną zgodnie z określonymi opcjami kontynuacji i zwraca wartość.

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

Tworzy kontynuację, która wykonuje asynchronicznie po zakończeniu Task docelowej i zwraca 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 Task, zwalniając wszystkie niezarządzane zasoby.

(Odziedziczone po Task)
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetAwaiter()

Pobiera element awaiter używany do oczekiwania na ten Task<TResult>.

GetAwaiter()

Pobiera element awaiter używany do oczekiwania na ten Task.

(Odziedziczone po Task)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
RunSynchronously()

Uruchamia Task synchronicznie w bieżącym TaskScheduler.

(Odziedziczone po Task)
RunSynchronously(TaskScheduler)

Uruchamia Task synchronicznie w podanym TaskScheduler.

(Odziedziczone po Task)
Start()

Uruchamia Task, planując jego wykonanie do bieżącego TaskScheduler.

(Odziedziczone po Task)
Start(TaskScheduler)

Uruchamia Task, planując wykonanie do określonego TaskScheduler.

(Odziedziczone po Task)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
Wait()

Czeka na ukończenie wykonywania Task.

(Odziedziczone po Task)
Wait(CancellationToken)

Czeka na ukończenie wykonywania Task. Oczekiwanie kończy się, jeśli token anulowania zostanie anulowany przed ukończeniem zadania.

(Odziedziczone po Task)
Wait(Int32)

Czeka na ukończenie wykonywania Task w ciągu określonej liczby milisekund.

(Odziedziczone po Task)
Wait(Int32, CancellationToken)

Czeka na ukończenie wykonywania Task. Oczekiwanie kończy się, jeśli upłynie interwał limitu czasu lub token anulowania zostanie anulowany przed ukończeniem zadania.

(Odziedziczone po Task)
Wait(TimeSpan)

Czeka na ukończenie wykonywania Task w określonym przedziale czasu.

(Odziedziczone po Task)
Wait(TimeSpan, CancellationToken)

Czeka na ukończenie wykonywania Task.

(Odziedziczone po Task)
WaitAsync(CancellationToken)

Pobiera Task<TResult>, które zostaną ukończone po zakończeniu tego Task<TResult> lub gdy określony CancellationToken zażądał anulowania.

WaitAsync(CancellationToken)

Pobiera Task, które zostaną ukończone po zakończeniu tego Task lub gdy określony CancellationToken zażądał anulowania.

(Odziedziczone po Task)
WaitAsync(TimeSpan)

Pobiera Task<TResult>, które zostaną ukończone po zakończeniu tego Task<TResult> lub upływie określonego limitu czasu.

WaitAsync(TimeSpan)

Pobiera Task, które zostaną ukończone po zakończeniu tego Task lub upływie określonego limitu czasu.

(Odziedziczone po Task)
WaitAsync(TimeSpan, CancellationToken)

Pobiera Task<TResult>, które zostaną ukończone po zakończeniu tego Task<TResult>, po upływie określonego limitu czasu lub żądaniu anulowania określonego CancellationToken.

WaitAsync(TimeSpan, CancellationToken)

Pobiera Task, które zostaną ukończone po zakończeniu tego Task, po upływie określonego limitu czasu lub żądaniu anulowania określonego CancellationToken.

(Odziedziczone po Task)
WaitAsync(TimeSpan, TimeProvider)

Pobiera Task<TResult>, które zostaną ukończone po zakończeniu tego Task<TResult> lub upływie określonego limitu czasu.

WaitAsync(TimeSpan, TimeProvider)

Pobiera Task, które zostaną ukończone po zakończeniu tego Task lub upływie określonego limitu czasu.

(Odziedziczone po Task)
WaitAsync(TimeSpan, TimeProvider, CancellationToken)

Pobiera Task<TResult>, które zostaną ukończone po zakończeniu tego Task<TResult>, po upływie określonego limitu czasu lub żądaniu anulowania określonego CancellationToken.

WaitAsync(TimeSpan, TimeProvider, CancellationToken)

Pobiera Task, które zostaną ukończone po zakończeniu tego Task, po upływie określonego limitu czasu lub żądaniu anulowania określonego CancellationToken.

(Odziedziczone po Task)

Jawne implementacje interfejsu

IAsyncResult.AsyncWaitHandle

Pobiera WaitHandle, których można 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

WaitAsync(Task, TimeSpan, TimeProvider, CancellationToken)

Pobiera Task, które zostaną ukończone po zakończeniu tego Task, po upływie określonego limitu czasu lub żądaniu anulowania określonego CancellationToken.

WaitAsync<TResult>(Task<TResult>, TimeSpan, TimeProvider, CancellationToken)

Pobiera Task, które zostaną ukończone po zakończeniu tego Task, po upływie określonego limitu czasu lub żądaniu anulowania określonego CancellationToken.

DispatcherOperationWait(Task)

Czeka na ukończenie bazowego DispatcherOperation przez czas nieokreślony.

DispatcherOperationWait(Task, TimeSpan)

Czeka na określoną ilość czasu na ukończenie bazowego DispatcherOperation.

IsDispatcherOperationTask(Task)

Zwraca wartość wskazującą, czy ta Task jest skojarzona z DispatcherOperation.

AsAsyncAction(Task)

Zwraca akcję asynchroniczną środowiska uruchomieniowego systemu Windows reprezentującą uruchomione zadanie.

AsAsyncOperation<TResult>(Task<TResult>)

Zwraca operację asynchroniczną środowiska uruchomieniowego systemu Windows reprezentującą uruchomione zadanie, które zwraca 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ż