This question already has answers here:
Get list on basis of dropdownlist data in asp.net mvc3
(1个答案)
Building dynamic lambda predicate with short date
(1个答案)
6年前关闭。
以罗斯文为例。
我的目标是使用Linq到Entity来动态搜索雇员。
我的表情也许是:
在这里,运算符
我的问题是,如何使用选定的运算符动态构建表达式?
重要的一点是,不允许选择语句,例如“ if”和“ switch”。
任何答案表示赞赏。
(1个答案)
Building dynamic lambda predicate with short date
(1个答案)
6年前关闭。
以罗斯文为例。
我的目标是使用Linq到Entity来动态搜索雇员。
我的表情也许是:
Expression<Func<Employee, bool>> exp= em => em.EmployeeID > 2;
在这里,运算符
'>'
在运行时由combobox选择,并且可以是'','contains'等。我的问题是,如何使用选定的运算符动态构建表达式?
重要的一点是,不允许选择语句,例如“ if”和“ switch”。
任何答案表示赞赏。
最佳答案
我将创建一个具有Func<Employee, bool>
并覆盖ToString
方法的类,以表示该函数正在使用的运算符。然后,我将使用该类的ObservableCollection
作为您ItemsSource
的ComboBox
。
调用您的类Operator
,执行该操作的代码将变为:
var op = dropDown.SelectedItem as Operator;
if (op != null)
{
op.Function(employee);
}
关于c# - 使用动态比较运算符构建lambda表达式(谓词),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18492675/