我在数据库中有一些列包含HH:MM
格式的时间。现在,如果有像11:00 - 12:00
then 这样的简单表达式,我可以轻松地在 C# 中创建一个名为 as 的扩展方法,SubtractTime
并在运行时传递我的参数。我将我的公式存储在数据库中,例如:
Condition Value
ExamTimeRemaing > 10:00 SubtractTime(Original,Remaining)
现在在上述情况下,我可以SubtractTime
在运行时使用反射调用我的函数,但是我的问题是,如果我的表达式变得复杂,例如:
10:00 + 12:00 * 00:02 - 10:11
我如何解析这样的表达式?我不需要编码方面的帮助,因为我已经有了将时间转换为滴答声然后转换为HH:MM
. 这更像是一个设计问题。我想要一个可扩展的解决方案,以便我可以有效地创建规则引擎。