title: How do you tell if an Expression<Func<T,object>> is referring to a root property, or is referring to a property of a property?
body: <p>I have:</p>
  
  <p><code>Expression&lt;Func&lt;Kitten, object&gt;&gt; someExpression = c =&gt; c.KittenName</code></p>
  
  <p>I use this to set the value of <code>KittenName</code>.</p>
  
  <p>If the type is nested, I need to handle it differently, e.g.</p>
  
  <p><code>Expression&lt;Func&lt;Kitten, object&gt;&gt; someExpression = c =&gt; c.Address.StreetName</code></p>
  
  <p>How do I 'walk up the tree' so to speak from StreetName to Address, and/or detect that the expression is a nested one?</p>