title: C# Expression syntax
body: <p>I was thinking about the difference between <code>Expression&lt;Func&lt;&gt;&gt;</code> and <code>Func&lt;&gt;</code>, and wondered if you could convert a static method to an expression tree as follows:</p>
  
  <pre><code>class Program
  {
      static void Main(string[] args)
      {
          Func&lt;int, int&gt; t = x =&gt; hrm(x);
          Func&lt;int, int&gt; t2 = new Func&lt;int, int&gt;(hrm);
  
          // Works as expected:
          Expression&lt;Func&lt;int, int&gt;&gt; et = x =&gt; hrm(x);
          // Brokenness:
          Expression&lt;Func&lt;int, int&gt;&gt; et2 = new Func&lt;int, int&gt;(hrm);
      }
  
      static int hrm(int x)
      {
          return x + 9;
      }
  }
  </code></pre>
  
  <p>What's so special about the second "Func&lt;>" that it can't be converted to an Expression, when the first one can?</p>