我怎样才能创建一个子对象的Expression.Property(How can I Create

2019-09-19 08:07发布

通常我以这种方式创建为一个函数。

ParameterExpression pe = Expression.Parameter(typeof(object1), "x");

string Name = "property1";

MemberExpression left = Expression.Property(pe, (object1).GetProperty(Name));

它产生left = x => x.property1

我需要知道我怎么能产生

left = x => x.Object2.property1

如果名称= “Object2.property1”; 和Object2的是object1孩子

提前致谢

Answer 1:

我不太明白你想要什么。 它是一个产业链(比如: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);


文章来源: How can I Create a Expression.Property of a child object