title: Get type of System.Linq.Expressions.Expression object
body: <p>In my program I have a list of <code>System.Linq.Expressions.Expression</code> objects.
  This list can include different types of a specific <code>Expression</code>. For example <code>BinaryExpression</code>, <code>ConditionalExpression</code> etc. (see <a href="https://msdn.microsoft.com/en-us/library/system.linq.expressions.expression(v=vs.110).aspx" rel="nofollow noreferrer">https://msdn.microsoft.com/en-us/library/system.linq.expressions.expression(v=vs.110).aspx</a>).
  When reading this list I want to check which specific type of <code>Expression</code> it is (<code>BinaryExpression</code>, <code>ConditinalExpression</code>, etc.).</p>
  
  <p>How do I get the name/type of the derived <code>Expression</code> class? </p>
  
  <p>UPDATE</p>
  
  <p>Here the definition of the list of expressions:</p>
  
  <pre><code>IEnumerable&lt;Expression&lt;Func&lt;T, object&gt;&gt;&gt; Expressions { get; }
  </code></pre>
  
  <p>and the code to get the expressions:</p>
  
  <pre><code>foreach (var expression in test.Expressions)
  {
      var test = expression.GetType().ToString(); //System.Linq.Expressions.Expression`1[System.Func`2[TestObject,System.Object]]
  }
  </code></pre>