title: Method that returns Task<string>
body: <p>I need a method that returns a <code>Task&lt;string&gt;</code> with empty string like</p>
  
  <pre><code>public static Task&lt;string&gt; AsyncTest()
  {    
       return new Task&lt;string&gt;(() =&gt; string.Empty); //problem here
  
       // this method would work:
       // return new WebClient().DownloadStringTaskAsync(@"http://www.google.de");   
  }
  
  public static void Workdl(string input)
  {
      Console.Write("OUT: " + input.Substring(0, 100));
  }
  </code></pre>
  
  <p>This snippet compiles but when I call it like</p>
  
  <pre><code>Task&lt;string&gt; dlTask = AsyncTest();
  Workdl(await dlTask);
  await Task.WhenAll(dlTask); //Task never completes 
  </code></pre>
  
  <p>it never determines.</p>