Windows apps
Sbalit obsah
Rozbalit obsah
Tento článek byl přeložený strojově. Pokud chcete zobrazit článek v angličtině, zaškrtněte políčko Angličtina. Anglickou verzi článku můžete také zobrazit v místním okně přesunutím ukazatele myši nad text.
Překlad
Angličtina
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Třída Task<TResult>

.NET Framework (current version)
 

Představuje asynchronní operace, která může vrátit hodnotu.

Obor názvů:   System.Threading.Tasks
Sestavení:  mscorlib (v mscorlib.dll)

System.Object
  System.Threading.Tasks.Task
    System.Threading.Tasks.Task<TResult>

[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public class Task<TResult> : Task

Parametry typu

TResult

Typ výsledek vytvořený to Task<TResult>.

NázevPopis
System_CAPS_pubmethodTask<TResult>(Func<TResult>)

Inicializuje novou Task<TResult> s zadanou funkci.

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

Inicializuje novou Task<TResult> s zadanou funkci.

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

Inicializuje novou Task<TResult> s konkrétní funkce a vytvoření možnosti.

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

Inicializuje novou Task<TResult> s konkrétní funkce a vytvoření možnosti.

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

Inicializuje novou Task<TResult> se zadanou funkci a stavu.

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

Inicializuje novou Task<TResult> s určenou akcí, stavu a možnosti.

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

Inicializuje novou Task<TResult> s určenou akcí, stavu a možnosti.

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

Inicializuje novou Task<TResult> s určenou akcí, stavu a možnosti.

NázevPopis
System_CAPS_pubpropertyAsyncState

Získá stav objektu zadán, kdy Task byl vytvořený nebo null, pokud žádné nebylo zadáno.(Zděděno z Task.)

System_CAPS_pubpropertyCreationOptions

Získá TaskCreationOptions použité k vytvoření tohoto úkolu.(Zděděno z Task.)

System_CAPS_pubpropertyException

Získá AggregateException způsobující Task předčasné ukončení. Pokud Task byla úspěšně dokončena nebo nebyla dosud vyvolána jakékoli výjimky vrátí null.(Zděděno z Task.)

System_CAPS_pubpropertySystem_CAPS_staticFactory

Poskytuje přístup k továrních metod pro vytváření a konfigurace Task<TResult> instance.

System_CAPS_pubpropertyId

Získá ID pro tuto Task instance.(Zděděno z Task.)

System_CAPS_pubpropertyIsCanceled

Získá zda to Task instance dokončila spuštění z důvodu probíhá její zrušení.(Zděděno z Task.)

System_CAPS_pubpropertyIsCompleted

Získá zda to Task byla dokončena.(Zděděno z Task.)

System_CAPS_pubpropertyIsFaulted

Získá zda Task Dokončit z důvodu neošetřené výjimky.(Zděděno z Task.)

System_CAPS_pubpropertyResult

Získá hodnotu výsledek tohoto Task<TResult>.

System_CAPS_pubpropertyStatus

Získá TaskStatus tohoto úkolu.(Zděděno z Task.)

NázevPopis
System_CAPS_pubmethodConfigureAwait(Boolean)

Konfiguruje awaiter používá k await to Task<TResult>.

System_CAPS_pubmethodContinueWith(Action<Task, Object>, Object)

Vytvoří pokračování, které obdrží informace o volajícím zadané stavu a provede při cíl Task dokončení.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith(Action<Task, Object>, Object, CancellationToken)

Vytvoří pokračování, který přijímá informace o volajícím zadané stavu a token zrušení a který spustí asynchronně při cíl Task dokončení.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith(Action<Task, Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

Vytvoří pokračování, která přijímá informace o volajícím zadané stavu a token zrušení a, která se spouští při cíl Task dokončení. Pokračování provádí na základě sady splnění určitých podmínek a použije zadaný plánovače.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith(Action<Task, Object>, Object, TaskContinuationOptions)

Vytvoří pokračování, které obdrží informace o volajícím zadané stavu a provede při cíl Task dokončení. Pokračování provádí na základě sady splnění určitých podmínek.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith(Action<Task, Object>, Object, TaskScheduler)

Vytvoří pokračování, které obdrží informace o volajícím zadané stavu a spustí asynchronně při cíl Task dokončení. Pokračování používá zadaný plánovače.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith(Action<Task<TResult>, Object>, Object)

Vytvoří informace o stavu předaný a, která se spouští při pokračování cíl Task<TResult> dokončení.

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

Vytvoří pokračování, který se spustí, když cílový Task<TResult> dokončení.

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

Vytvoří pokračování, který se spustí, když cílový Task<TResult> dokončení.

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

Vytvoří pokračování, který se spustí, když cílový Task<TResult> dokončení.

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

Vytvoří pokračování, který se spustí, když cílový Task<TResult> dokončení.

System_CAPS_pubmethodContinueWith(Action<Task<TResult>>)

Vytvoří pokračování, které se provádí asynchronně při dokončení úlohy cíl.

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

Vytvoří zrušitelný pokračování, které provádí asynchronně při cíl Task<TResult> dokončení.

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

Vytvoří pokračování, které se provádí podle podmínky zadané v continuationOptions.

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

Vytvoří pokračování, které se provádí podle podmínky zadané v continuationOptions.

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

Vytvoří pokračování, které se provádí asynchronně při cíl Task<TResult> dokončení.

System_CAPS_pubmethodContinueWith(Action<Task>)

Vytvoří pokračování, které se provádí asynchronně při cíl Task dokončení.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith(Action<Task>, CancellationToken)

Vytvoří pokračování, který přijímá token zrušení a provádí asynchronně při cíl Task dokončení.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Vytvoří pokračování, které se spustí, pokud cílová úloha soupeří podle zadané TaskContinuationOptions. Pokračování přijímá token zrušení a používá zadaný plánovače.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith(Action<Task>, TaskContinuationOptions)

Vytvoří pokračování, který se spustí po dokončení úlohy cíl podle zadané TaskContinuationOptions.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith(Action<Task>, TaskScheduler)

Vytvoří pokračování, které se provádí asynchronně při cíl Task dokončení. Pokračování používá zadaný plánovače.(Zděděno z Task.)

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

Vytvoří pokračování, které se provádí asynchronně při cíl Task<TResult> dokončí a vrátí hodnotu.(Zděděno z Task.)

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

Vytvoří pokračování, které se provádí asynchronně při cíl Task dokončí a vrátí hodnotu. Pokračování přijímá token zrušení.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith<TResult>(Func<Task, TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

Vytvoří pokračování, které se provádí podle možnosti zadané pokračování a vrátí hodnotu. Pokračování je předán token zrušení a používá zadaný plánovače.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith<TResult>(Func<Task, TResult>, TaskContinuationOptions)

Vytvoří pokračování, které se provádí podle možnosti zadané pokračování a vrátí hodnotu.(Zděděno z Task.)

System_CAPS_pubmethodContinueWith<TResult>(Func<Task, TResult>, TaskScheduler)

Vytvoří pokračování, které se provádí asynchronně při cíl Task dokončí a vrátí hodnotu. Pokračování používá zadaný plánovače.(Zděděno z Task.)

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

Vytvoří pokračování, které přijímá informace zadané volající stavu a spustí asynchronně při cíl Task dokončí a vrátí hodnotu.(Zděděno z Task.)

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

Vytvoří pokračování, které se provádí asynchronně při cíl Task dokončí a vrátí hodnotu. Informace o volajícím zadané stavu a token zrušení obdrží pokračování.(Zděděno z Task.)

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

Vytvoří pokračování, které provádí podle zadané možnosti pokračování úlohy, kdy cílový Task dokončí a vrátí hodnotu. Pokračování obdrží informace o stavu zadaný volající a token zrušení a použije zadaný plánovače.(Zděděno z Task.)

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

Vytvoří pokračování, které provádí podle zadané možnosti pokračování úlohy, kdy cílový Task dokončení. Pokračování obdrží informace o stavu zadaný volajícího.(Zděděno z Task.)

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

Vytvoří pokračování, které se provádí asynchronně při cíl Task dokončení. Pokračování obdrží informace o volajícím zadané stavu a použije zadaný plánovače.(Zděděno z Task.)

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

Vytvoří pokračování, které se provádí asynchronně při cíl Task<TResult> dokončení.

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

Vytvoří pokračování, které se provádí asynchronně při cíl Task<TResult> dokončení.

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

Vytvoří pokračování, které se provádí podle podmínky zadané v continuationOptions.

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

Vytvoří pokračování, které se provádí podle podmínky zadané v continuationOptions.

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

Vytvoří pokračování, které se provádí asynchronně při cíl Task<TResult> dokončení.

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

Vytvoří pokračování, který se spustí, když cílový Task<TResult> dokončení.

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

Vytvoří pokračování, který se spustí, když cílový Task<TResult> dokončení.

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

Vytvoří pokračování, který se spustí, když cílový Task<TResult> dokončení.

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

Vytvoří pokračování, který se spustí, když cílový Task<TResult> dokončení.

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

Vytvoří pokračování, který se spustí, když cílový Task<TResult> dokončení.

System_CAPS_pubmethodDispose()

Uvolní všechny prostředky používané na aktuální instanci Task třídy.(Zděděno z Task.)

System_CAPS_protmethodDispose(Boolean)

Odstraňuje Task, uvolnění všech jeho nespravovaných prostředků.(Zděděno z Task.)

System_CAPS_pubmethodEquals(Object)

Určuje, zda zadaný objekt je rovna aktuálního objektu.(Zděděno z Object.)

System_CAPS_protmethodFinalize()

Umožňuje objektu pokusit se uvolnit prostředky a provést další operace vyčištění předtím, než je odstraněn při uvolňování paměti.

(Zděděno z Object.)

System_CAPS_pubmethodGetAwaiter()

Získá awaiter používá k await to Task<TResult>.

System_CAPS_pubmethodGetHashCode()

Slouží jako výchozí funkce hash.(Zděděno z Object.)

System_CAPS_pubmethodGetType()

Získá Type aktuální instance.(Zděděno z Object.)

System_CAPS_protmethodMemberwiseClone()

Vytvoří mělká kopie aktuálního Object.(Zděděno z Object.)

System_CAPS_pubmethodRunSynchronously()

Spustí Task synchronně na aktuálním TaskScheduler.(Zděděno z Task.)

System_CAPS_pubmethodRunSynchronously(TaskScheduler)

Spustí Task synchronně na TaskScheduler k dispozici.(Zděděno z Task.)

System_CAPS_pubmethodStart()

Spustí Task, plánování pro spuštění na aktuální TaskScheduler.(Zděděno z Task.)

System_CAPS_pubmethodStart(TaskScheduler)

Spustí Task, plánování pro spuštění na zadaný TaskScheduler.(Zděděno z Task.)

System_CAPS_pubmethodToString()

Vrátí řetězec, který představuje aktuální objekt.(Zděděno z Object.)

System_CAPS_pubmethodWait()

Čeká Task na dokončení provádění.(Zděděno z Task.)

System_CAPS_pubmethodWait(CancellationToken)

Čeká Task na dokončení provádění. Čekání ukončí, pokud token zrušení zrušena před dokončením úkolu.(Zděděno z Task.)

System_CAPS_pubmethodWait(Int32)

Čeká Task k dokončení provádění v rámci zadaný počet milisekund.(Zděděno z Task.)

System_CAPS_pubmethodWait(Int32, CancellationToken)

Čeká Task na dokončení provádění. Čekání ukončí, pokud uplyne časový limit nebo token zrušení je zrušena dříve, než dokončení úlohy.(Zděděno z Task.)

System_CAPS_pubmethodWait(TimeSpan)

Čeká Task k dokončení provádění v rámci zadaného časového intervalu.(Zděděno z Task.)

NázevPopis
System_CAPS_pubinterfaceSystem_CAPS_privpropertyIAsyncResult.AsyncWaitHandle

Získá WaitHandle lze použít čekat na dokončení úlohy.(Zděděno z Task.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIAsyncResult.CompletedSynchronously

Získá údaj o tom, zda operace dokončena synchronně.(Zděděno z Task.)

NázevPopis
System_CAPS_pubmethodDispatcherOperationWait()

Přetížené Čeká na dobu neurčitou podkladové DispatcherOperation k dokončení.(Definoval TaskExtensions.)

System_CAPS_pubmethodDispatcherOperationWait(TimeSpan)

Přetížené Čeká na specifikovaný čas pro základní DispatcherOperation k dokončení.(Definoval TaskExtensions.)

System_CAPS_pubmethodIsDispatcherOperationTask()

Vrátí hodnotu, která označuje, zda to Task je přidružen DispatcherOperation.(Definoval TaskExtensions.)

Task<TResult> Třídy představuje jedné operace, která vrací hodnotu, kterou obvykle provádí asynchronně. Task<TResult> objekty jsou jedním z centrální součásti první představena v rozhraní .NET Framework 4. Protože práce prováděné Task<TResult> objekt obvykle provádí asynchronně na vláknu fondu vláken spíše než synchronně u hlavního vlákna aplikace, můžete Status vlastnost, stejně jako IsCanceled, IsCompleted, a IsFaulted Vlastnosti k určení stavu úlohy. Výraz lambda nejčastěji slouží k určení práci, kterou je úkol provést.

Task<TResult> instance může být vytvořené v mnoha různými způsoby. Nejběžnějším přístupem, která je k dispozici od verze .NET Framework 4.5, je volání statických Task.Run<TResult>(Func<TResult>) nebo Task.Run<TResult>(Func<TResult>, CancellationToken) Metoda. Tyto metody poskytují jednoduchý způsob, jak pomocí výchozí hodnoty a bez získání dalších parametrů spuštění úlohy. Následující příklad používá Task.Run<TResult>(Func<TResult>) Metoda spustit úlohu, která smyčky a poté zobrazí počet iterací, smyčka:

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.

Alternativu a nejběžnější způsob spuštění úlohy v .NET Framework 4, je volání statických TaskFactory.StartNew nebo TaskFactory<TResult>.StartNew Metoda. Task.Factory Vlastnost vrátí TaskFactory objektu a Task<TResult>.Factory vlastnost vrátí TaskFactory<TResult> objektu. Přetížení jejich StartNew Metoda umožňují předat argumenty, zadejte možnosti vytvoření úlohy a určení plánovače úloh. Následující příklad používá TaskFactory<TResult>.StartNew(Func<TResult>) Metoda spuštění úlohy. Je funkčně ekvivalentní kód v předchozím příkladu.

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

Kompletní příklady naleznete v tématu Asynchronní programování založené na úlohách.

Task<TResult> Třída rovněž poskytuje konstruktory, který inicializovat úkol, ale který není ji naplánovat na provedení. Z důvodů výkonu Task.Run a StartNew metody jsou upřednostňovaný postup pro vytváření a plánování výpočetní úlohy, ale pro scénáře, kde musí být odděleny vytváření úloh a plánování, mohou být použity konstruktory a tato úloha Start Metoda pak lze naplánovat úlohu pro spuštění později.

Od verze aplikace klasické pracovní plochy, které se zaměřují .NET Framework 4.6, jazykovou verzi vlákna, která vytvoří a spustí úlohu se stane součástí kontextu vlákna. Bez ohledu na aktuální jazykové verzi vlákna, na kterém se spustí úlohu, aktuální jazykové verze úlohy je jazyková verze volajícího vlákna. Pro aplikace, které cílové verze rozhraní .NET Framework před verzí .NET Framework 4.6, jazyková verze úlohy je jazykovou verzi vlákna, na kterém se provádí úlohy. Další informace naleznete v části "Jazyková verze a task-based asynchronních operací" v CultureInfo tématu. Všimněte si, že aplikace pro Store postupem prostředí Windows Runtime v nastavení a získání výchozí jazykovou verzi.

Pro operace, které nevrací hodnotu, je použít Task třídy.

Univerzální platforma Windows
K dispozici od 8
.NET Framework
K dispozici od 4.0
Přenosná knihovna tříd
Podporováno v: přenosné platformy .NET
Silverlight
K dispozici od 5.0
Windows Phone Silverlight
K dispozici od 8.0
Windows Phone
K dispozici od 8.1

Všichni členové Task<TResult>, s výjimkou Dispose, jsou bezpečné pro vlákna a může používat z více vláken současně.

Zpět na začátek
Zobrazit:
© 2017 Microsoft