Typ kann nicht implizit von Task <> konvertiert werden

Ich versuche, die asynchrone Methodensyntax in .NET 4.5 zu beherrschen. Ich dachte, ich hätte die Beispiele genau verstanden, aber egal, um welchen Typ es sich bei der asynchronen Methode handelt (d. HTask<T>), Ich bekomme immer den gleichen Fehlertyp bei der Konvertierung zurück zuT - was ich verstand, war ziemlich automatisch. Der folgende Code erzeugt den Fehler:

Typ kann nicht implizit konvertiert werden 'System.Threading.Tasks.Task<System.Collections.Generic.List<int>>'bis'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;
    }
}

Es schlägt fehl, wenn ich das Ergebnis ebenfalls explizit gecastet habe. Diese:

public List<int> TestGetMethod()
{
    return (List<int>)GetIdList();  // compiler error on this line
}

Etwas vorhersehbar führt zu diesem Fehler:

Typ kann nicht konvertiert werden 'System.Threading.Tasks.Task<System.Collections.Generic.List<int>>'bis'System.Collections.Generic.List<int>'

Jede Hilfe sehr geschätzt.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage