2
生成表达式树我想要生成LambdaExpression像这样的语句:为子属性测试
Adress (p => p.Person.Name == "Mike")
其中Person
是有名称属性的类。
我无法通过Expression.Property
实现此目的。
任何想法?
生成表达式树我想要生成LambdaExpression像这样的语句:为子属性测试
Adress (p => p.Person.Name == "Mike")
其中Person
是有名称属性的类。
我无法通过Expression.Property
实现此目的。
任何想法?
假设P的是PersonContainer类型:
// p => p.Person.Name == "Mike"
ParameterExpression par = Expression.Parameter(typeof(PersonContainer), "p");
BinaryExpression beEq = Expression.Equal(
Expression.Property(
Expression.Property(par, "Person"),
"Name"),
Expression.Constant("Mike"));
Expression<Func<PersonContainer, bool>> expr = Expression.Lambda<Func<PersonContainer, bool>>(beEq, par);
你应该告诉你已经试过* *的代码。 – Gabe 2011-03-21 14:19:10