【问题标题】:How can I Create a Expression.Property of a child object如何创建子对象的 Expression.Property
【发布时间】:2012-07-11 18:39:11
【问题描述】:

通常我以这种方式创建一个表达式。

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 的子对象

提前致谢

【问题讨论】:

    标签: c# linq expression-trees expression func


    【解决方案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);
    

    【讨论】:

    • 谢谢,这正是我所需要的。我还不能投票。但这就是答案
    • 您能否将自己问题的答案设为有效?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    相关资源
    最近更新 更多