title: Method Inference does not work with method group
body: <p>Consider</p>
  
  <pre><code>void Main()
  {
      var list = new[] {"1", "2", "3"};
      list.Sum(GetValue); //error CS0121
      list.Sum(s =&gt; GetValue(s)); //works !
  }
  
  double GetValue(string s)
  {
      double val;
      double.TryParse(s, out val);
      return val;
  }
  </code></pre>
  
  <p>The description for the CS0121 error is </p>
  
  <blockquote>
    <p>The call is ambiguous between the following methods or properties:
    <code>'System.Linq.Enumerable.Sum&lt;string&gt;(System.Collections.Generic.IEnumerable&lt;string&gt;,
    System.Func&lt;string,decimal&gt;)'</code> and
    <code>'System.Linq.Enumerable.Sum&lt;string&gt;(System.Collections.Generic.IEnumerable&lt;string&gt;,
    System.Func&lt;string,decimal?&gt;</code>)'</p>
  </blockquote>
  
  <p>What I don't understand is, what information does <code>s =&gt; GetValue(s)</code> give the compiler that simply <code>GetValue</code> doesn't - isn't the latter syntactic sugar for the former ?</p>