问题
normally I create an expresion in this way.
ParameterExpression pe = Expression.Parameter(typeof(object1), "x");
string Name = "property1";
MemberExpression left = Expression.Property(pe, (object1).GetProperty(Name));
it produces left = x => x.property1
I need to know how can I produce
left = x => x.Object2.property1
if Name = "Object2.property1"; and object2 is a child to object1
Thanks in advance
回答1:
I don't quite understand what you want. Is it a property chain (say: x.Prop1.Prop2)?
var pe = Expression.Parameter(typeof(object1));
var property1 = typeof(object1).GetProperty(Name1);
var property2 = property1.PropertyType.GetProperty(Name2);
var inner = Expression.Property(pe, property1);
var outer = Expression.Property(inner, property2);
来源:https://stackoverflow.com/questions/11439218/how-can-i-create-a-expression-property-of-a-child-object