Nie można niejawnie przekonwertować typu z zadania <>

Próbuję opanować składnię metody asynchronicznej w .NET 4.5. Myślałem, że zrozumiałem przykłady dokładnie jednak bez względu na rodzaj metody asynchronicznej (tjTask<T>), Zawsze otrzymuję ten sam typ błędu błędu podczas konwersjiT&nbsp;- co zrozumiałem było dość automatyczne. Poniższy kod powoduje błąd:

Nie można niejawnie przekonwertować typu ”System.Threading.Tasks.Task<System.Collections.Generic.List<int>>' do '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;
    }
}

To się nie powiedzie, jeśli ja również wyraźnie rzucę wynik. To:

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

nieco przewidywalnie powoduje ten błąd:

Nie można przekonwertować typu ”System.Threading.Tasks.Task<System.Collections.Generic.List<int>>' do 'System.Collections.Generic.List<int>'

Każda pomoc bardzo doceniana.