2011-03-30 29 views
4

我有一個MemberExpression包含以下內容:mail => mail.SomePropertyLinq - 合併屬性訪問器表達式

我想生成一個新的成員表達式來訪問層次結構中更深層次的一個級別,並得到如下結果:mail => mail.SomeProperty.OtherProperty

如何做到這一點?

+0

從技術上講,你有什麼不是'MemberExpression',而是'LambdaExpression'。或者更準確地說,'表達式>(無論類型是什麼)。 – 2011-03-30 22:05:03

回答

4

我相信你可以使用Expression.Property來構造一個新的MemberExpression,它包含了現有的表達式和一個附加的屬性引用。它需要一個表達式來表示第一個參數,它應該是原始的MemberExpression。

+0

我通過使用動態表達式實現了這一點。但實際上,您可以在原始表達式上使用Call函數。 – 2011-04-24 16:35:07