Я пытаюсь освоить синтаксис асинхронного метода в .NET 4.5. Я думал, что правильно понял примеры, однако, независимо от типа асинхронного метода (т.е. Task<T>
), я всегда получаю один и тот же тип ошибки при преобразовании обратно в T
, что, как я понял, было в значительной степени автоматическим. Следующий код вызывает ошибку:
Невозможно неявно преобразовать тип "
System.Threading.Tasks.Task<System.Collections.Generic.List<int>>
" в "System.Collections.Generic.List<int>
"
public List<int> TestGetMethod()
{
return GetIdList(); // compiler error on this line
}
async Task<List<int>> GetIdList()
{
using (HttpClient proxy = new HttpClient())
{
string response = await proxy.GetStringAsync("www.test.com");
List<int> idList = JsonConvert.DeserializeObject<List<int>>();
return idList;
}
}
Это не сработает, если я также явно приведу результат. Этот:
public List<int> TestGetMethod()
{
return (List<int>)GetIdList(); // compiler error on this line
}
несколько предсказуемо приводит к этой ошибке:
Невозможно преобразовать тип
System.Threading.Tasks.Task<System.Collections.Generic.List<int>>
вSystem.Collections.Generic.List<int>
Любая помощь очень ценится.