我的产品负责人要求我将一些比较逻辑配置为可配置,以便流程工程师可以在不进行代码更改的情况下更改内容。目前,代码是一个SELECT CASE
语句,其中包含各种IF THEN
语句,这些语句相当标准。我似乎无法找到解决办法的问题是他希望通过AND/OR
语句中的IF THEN
配置进行可变数量的比较。他的想法是,配置将像过程工程师的有限查询构建器一样工作。我提出的唯一解决方案是在字符串中构建函数并使用VBCodeProvider在运行时编译它。有没有更好的方法来解决这个问题?
答案 0 :(得分:1)
一种方法是将布尔值存储在配置文件中,在运行时加载它们,并像在任何其他布尔值中一样在代码中使用它们。
更好的方法是让配置尽可能靠近他的问题域,然后从代码中使用正确的布尔值进行编码。
答案 1 :(得分:1)
您可以使用expressions来完成此操作。有了这个,你就可以建立一个IfExpression并建立它的条件。您可以编译它并在运行时运行它。