.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>
変換できません
どんな助けでも大歓迎です。