title: Task.Factory.StartNew() overloads
body: <p>I've got really simple code:</p>
  
  <pre><code>static void Main(string[] args)
  {
      var task = Task.Factory.StartNew(GetInt);
  
      var task2 = Task.Factory.StartNew(
          () =&gt;
          {
              return GetInt();
          });
  }
  
  static int GetInt()
  {
      return 64;
  }
  </code></pre>
  
  <p>Why do I get a compiler error for the first task?
  The method signatures (no params, return type is <code>int</code>) are equal, aren't they?</p>
  
  <p>I know a solution(which is quite simple: <code>var task = Task.Factory.StartNew&lt;int&gt;(GetInt);</code>) but I'd like to know whats the problem with the code above.</p>