mam to metoda, która Rozpoczyna zadanie i zwraca ostatnią cahined zadanie, aby uzyskać wynik:Jak mogę uruchomić instancję kontynuacji zadania?
public Task<double> GetTask()
{
return Task.Factory.StartNew((() => 10))
.ContinueWith(i =>
{
return i.Result + 2;
})
.ContinueWith(i =>
{
return (double)i.Result;
});
}
chciałbym mieć tę samą metodę zwracania samo zadanie, ale bez automatycznego uruchamiania go z Task.Factory .StartNew tak:
public Task<double> GetTask2()
{
return new Task<int>((() => 10))
.ContinueWith(i =>
{
return i.Result + 2;
})
.ContinueWith(i =>
{
return (double)i.Result;
});
}
każdym razie nie udało mi się znaleźć sposób, aby rozpocząć zadanie zwrócony przez GetTask2 i uzyskać wynik. Jak mogę go uruchomić i uzyskać wynik?
To nie zadziała. Musisz zacząć oryginalne, pierwsze zadanie. Nie ostatni z łańcucha. – usr
Dlaczego? To nie jest pytanie. Po prostu wykonaj instancję zadania z metody. Następnie uruchom go. Prosty. – MoonKnight
Wywołujesz start w zadaniu kontynuacji. Nie możesz rozpocząć zadania kontynuacji. Uruchomi się automatycznie, gdy jego poprzednik zostanie zakończony. Nie możesz zmusić go do rozpoczęcia. – usr