title: Most efficient way to test equality of lambda expressions
body: <p>Given a method signature:</p>
  
  <pre><code>public bool AreTheSame&lt;T&gt;(Expression&lt;Func&lt;T, object&gt;&gt; exp1, Expression&lt;Func&lt;T, object&gt;&gt; exp2)
  </code></pre>
  
  <p>What would be the most efficient way to say if the two expressions are the same? This only needs to work for simple expressions, by this I mean all that would be "supported" would be simple MemberExpressions, eg c => c.ID.</p>
  
  <p>An example call might be:</p>
  
  <pre><code>AreTheSame&lt;User&gt;(u1 =&gt; u1.ID, u2 =&gt; u2.ID); --&gt; would return true
  </code></pre>