title: How to convert an Expression<Func<T, bool>> to a Predicate<T>
body: <p>I have a method that accepts an <code>Expression&lt;Func&lt;T, bool&gt;&gt;</code> as a parameter.  I would like to use it as a predicate in the List.Find() method, but I can't seem to convert it to a Predicate which List takes.  Do you know a simple way to do this?</p>
  
  <pre><code>public IList&lt;T&gt; Find&lt;T&gt;(Expression&lt;Func&lt;T, bool&gt;&gt; expression) where T : class, new()
  {
      var list = GetList&lt;T&gt;();
  
      var predicate = [what goes here to convert expression?];
  
      return list.Find(predicate);
  }
  </code></pre>
  
  <p><strong>Update</strong></p>
  
  <p>Combining answers from tvanfosson and 280Z28, I am now using this:</p>
  
  <pre><code>public IList&lt;T&gt; Find&lt;T&gt;(Expression&lt;Func&lt;T, bool&gt;&gt; expression) where T : class, new()
  {
      var list = GetList&lt;T&gt;();
  
      return list.Where(expression.Compile()).ToList();
  }
  </code></pre>