I am trying to master async method syntax in .NET 4.5. I thought I had understood the examples exactly however no matter what the type of the async method is (ie Task
The main issue with your example that you can't implicitly convert Task return types to the base T type. You need to use the Task.Result property. Note that Task.Result will block async code, and should be used carefully.
Try this instead:
public List TestGetMethod()
{
return GetIdList().Result;
}