c# – 如何为我的应用程序添加可编程性

我正在编写一个应用程序,它的核心是一个规则引擎.用户希望能够定义自定义规则.其中一些将是相当简单的代数表达式,许多将涉及一些if-then分支逻辑,而一些将更复杂.这样做有什么选择?

我的用户非常聪明,精通T-sql和Excel命令,并且通常熟悉编程结构,但他们本身并不是“程序员”.

我考虑过使用VBA / vsta;以某种方式与Excel互操作;集成某种脚本语言(Ruby?Perl?Tcl?);或滚动我自己.

在所有可能的世界中,我将为他们提供一个带有颜色编码和类似智能感知的交互式帮助的编辑器,一个用于测试和试验的即时执行模式,以及一个逐步调试器.他们还需要能够保存,检索,编辑和执行他们的规则.炽热的速度不是必不可少的.

我的环境是Windows / .Net 3.5 / C#

有任何想法吗?

解决方法

我不是一个窗户,所以我的答案不适合你的情况.我建议在您的应用程序中嵌入一个完整的脚本语言解释器.暴露一些原语(即你想要公开的规则引擎的部分),然后提供一个完整的解释器.我知道TCL,PythonGuile都是以这种方式嵌入的.我个人推荐Python,因为Scheme(guile)有点深奥,TCL似乎一般都会失败.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...