So, lets say I have the following expression in C#:
Expression<Func<string>> expr = () => foo.Bar;
How do I pull out a reference to foo?
So, lets say I have the following expression in C#:
Expression<Func<string>> expr = () => foo.Bar;
How do I pull out a reference to foo?
There is a simpler solution:
var pExpression = ((MemberExpression)expr.Body);
var bindingObject = Expression.Lambda(((MemberExpression)pExpression.Expression)).Compile().DynamicInvoke();