Linq - 合并属性访问表达式

4

我有一个包含以下内容的MemberExpression: mail => mail.SomeProperty.

我想生成一个新的成员表达式,以访问层次结构中更深的一级,并得到如下结果: mail => mail.SomeProperty.OtherProperty.

如何实现这个功能?


从技术上讲,你那里的不是 MemberExpression 而是 LambdaExpression。更准确地说,是 Expression<Func<MailType, SomePropertyType>>(无论类型是什么)。 - Jeff Mercado
1个回答

4

我相信你可以使用Expression.Property来构建一个新的MemberExpression,它用额外的属性引用包装了现有的表达式。它需要一个表达式作为第一个参数,这个表达式应该是原始的MemberExpression。


我是通过使用动态表达式来实现的。但实际上,您可以在原始表达式上使用调用函数。 - Luis Aguilar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接