I try to write a simple example using Expressions, but have a strange bug: I can't use PropertyExpression at compile time. When I write it I get an error and it doesn't compile 
 But in runtime at breakpoint I can write
But in runtime at breakpoint I can write 
var runtimeBody = (System.Linq.Expressions.PropertyExpression)body2;
and it works, and casts as expected. Framework 4.5.1 is selected as target.
 
    