首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NCalc表达式验证

NCalc表达式验证
EN

Stack Overflow用户
提问于 2022-06-13 23:01:26
回答 1查看 152关注 0票数 0

如何验证NCalc表达式?我希望在我的简单自定义语言中使用NCalc来计算if/ use /endif条件,以定义步骤序列。主程序将提供一些条件参数。序列是由用户定义的,所以我的解析器必须验证条件是否正常,并且只使用提供的参数。

我已经试过一些测试了,但不知道怎么做。HasErrors()方法不检查已使用的参数。invalid ()使用优化,因此如果我编写表达式"true或XXXX",它将以true结果结尾,而不会发现XXXX参数无效。我该怎么做?我想在编译时验证它。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-06-14 20:32:28

我在这个问题中找到了答案(标记为答案),也许我也应该在google中使用其他关键字。Get the parameters in an expression using NCalc

我在基于LogicalExpressionVisitor的访问者身上测试了这个解决方案,而且它正在工作。但是,从理论上讲,它可能与验证不一样,因为我从解析表达式中得到了参数名称的列表,而没有提供参数值。因此,在为评估提供特殊“坏”参数值的情况下,表达式可能会失败。但这对我的情况来说已经足够了,我知道我将提供给表达式的所有参数,所以对我来说,它就足够得到参数名称了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72609927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档