Chcę utworzyć żądanie usługi sieciowej asynchron. Ja nazywam go tutaj:Lista zwrotów z metody async/await
List<Item> list = GetListAsync();
Oto deklaracja mojej funkcji, które powinny zwrócić listę:
private async Task<List<Item>> GetListAsync(){
List<Item> list = await Task.Run(() => manager.GetList());
return list;
}
Jeśli chcę skompilować otrzymuję następujący błąd
Cannot implicitely convert type System.Threading.Tasks.Task<System.Collections.Generic.List<Item>> to System.Collections.Generic.List<Item>
Jak wiem Jeśli używam modyfikatora async
, wynik jest automatycznie pakowany w Zadanie. Myślę, że tak się nie dzieje, ponieważ używam Task.Run
. Jeśli usunąć Task.Run(() =>
część dostaję
Nie można oczekiwać System.Collections.Generic.List wyraz
Chyba nie zrozumiałeś asynchronicznie/czekają metod. Co robię źle?
możliwe duplikat [Nie można niejawnie przekonwertować typu z Task <>] (http: // stackoverflow. com/questions/12886559/nie można-niejawnie konwertować-typu-z-zadania) – i3arnon