用于根据属性(字符串列表)过滤数据的表达式

时间:2018-11-23 08:32:47

标签: c# lambda expression

我有以下代码:

case FilterQueryType.Contains:
      var parameterExp = Expression.Parameter(type, "type");
      var propertyExp = Expression.Property(parameterExp, filter.PropertyName);
      var containsConstExp = Expression.Constant(filter.MyKeyword);
      MethodInfo method = typeof(string).GetMethod("Contains", new []{typeof(string)});
      var containsMethodExp = Expression.Call(propertyExp, method, containsConstExp);
      var containsLambda = Expression.Lambda<Func<T, bool>>(containsMethodExp, parameterExp);
      items = items.Where(containsLambda);
      break;

只要filter.PropertyName是字符串,此代码就可以正常工作。 现在,我有一个情况,filter.PropertyName实际上是一个可枚举的字符串。

有人可以告诉我如何为此创建正确的表达式吗? (filter.MyKeyword本身始终是单个值)

1 个答案:

答案 0 :(得分:0)

openstack stack update --existing <stackname> -e <parameterfile>

此解决方案对我有用