让用户从gui向导构建动态表达式

本文关键字:构建 动态 表达式 向导 gui 用户 | 更新日期: 2023-09-27 17:57:41

我想构建一个gui面板/向导,应用程序的用户可以使用强类型对象模型的属性来构建自定义条件/表达式。基本上是这样的。

该结构可以嵌套(LHS/RHS可能由其他表达式组成),并使用或/和/foreach操作数与其他表达式组合。

我希望能够检查每个子表达式的正确类型和值。理想情况下,最终查询应该是linq查询或表达式树。

我的目标是让用户设计自己的策略或简单的工作流程。

您建议处理表达式的类型是什么?创建动态查询的解决方案是什么?

我正在考虑将表达式表示为字符串,例如

person.DateOfBirth > 1970 && person.Country != Country.Germany

然后使用由动态linq库生成的扩展CCD_ 2子句中的串联作为参数来创建linq查询。

是否可以创建动态高级表达式,或者此解决方案存在限制?

你建议什么替代方案?

让用户从gui向导构建动态表达式

检查LINQKit项目,尤其是PredicateBuilder类。