首页 > 解决方案 > 在 ExpandoObject 中获取自定义属性的成员表达式

问题描述

我正在使用ExpressionsWPF 创建一个数据网格过滤器。作为我的班级,我使用ExpandoObject硬编码和动态添加的属性。当我过滤具有静态属性的列时,它可以工作,但是当我过滤具有动态属性的列时,我收到一个错误,即找不到该属性。

// error here
var targetProperty = Expression.Property(parameter, Member);

// i.e.: parameter.Member.ToString().
var toStringCallExpression = Expression.Call(targetProperty, _toStringMethodInfo);

// i.e.: parameter.Member.ToString().Contains(Value).
return Expression.Call(toStringCallExpression, _containsMethodInfo, Expression.Constant(Value));

如何获取不是实例属性的动态属性的成员表达式?

标签: c#dynamiclambdaexpandoobject

解决方案


推荐阅读