Executing a modified expression
Posted
by Sam
on Stack Overflow
See other posts from Stack Overflow
or by Sam
Published on 2010-03-25T23:26:16Z
Indexed on
2010/03/25
23:33 UTC
Read the original article
Hit count: 554
I found this brief demo:
http://msdn.microsoft.com/en-us/library/bb546136.aspx
Which discusses modifying an expression. However the code starts with a Expression<Func<string, bool>>
and ends up with a Expression
so it's not complete. How do I take that expression and make it typed as Expression<Func<string,bool>>
again?
All the examples I have have found on executing an expression all involve dynamically created expressions which is not what this case has. Here the original expression is defined at compile time. And the code I want to write to do this won't know much about the expression, ideally as little as possible. I definately can't see how I would know what "Paramaters" to pass to Expression.LambdaExpression
...
In my particular case I want to search for any references to a particular propery of type A and swap them out with a reference to a property of type B then pass the expression to a call to IEnumerable.Where
.
ie.
p=>p.Name == "Sam" where P is Foo1 becomes p=>p.FirstName == "Sam" where p is Foo2
© Stack Overflow or respective owner