我有一个应用程序,用户可以在其中创建存储在数据库中的实体。每个实体都有一个字符串名称属性和一个布尔值属性。用户还可以指定一个字符串,其中包含要针对实体执行的逻辑。例如,逻辑可能类似于:
(Q1 或 Q2)和(Q3 或 Q4)
因此,要评估此逻辑,我的应用程序需要查找 Name 属性为 Q1、Q2、Q3 和 Q4 的实体,将 Value 属性替换为上述表达式中的名称,并评估该表达式。
该应用程序是用 C# 编写的。我是 C# 和 VB 方面的专家,但我没有使用动态语言的经验。我可以编写一个使用 Regex 来标记逻辑字符串的解析器,但我想知道是否有更简单的方法可以做到这一点,也许可以使用相对较新的 .Net 动态语言功能。
鲍勃