I’m trying to evaluate the value of a constant expression. In the debugger I can see the value:

but how do I get at it in code?
The expression is of the form:
x => x.ListPropery[5].ChildProperty
I’m walking down the expression to convert it into a string, but I’ve got stuck at the indexer part.
The indexer creates a MethodCallExpression on IList<> to get_Item, I can then work my way into the arguments to get at a constant expression which was generated like this:
for(var i = 0; i < list.Count; i++)
{
var j = i;
Expression<Func<IList<TValue>, TValue>> indexer = xs => xs[j];
Update:
(exp.Arguments[0] as MemberExpression).Member
returns a MemberInfo
aha!
(exp.Arguments[0] as MemberExpression).Memberis aFieldInfoso I can do: