来自c#的迷你BASIC IDE

本文关键字:BASIC IDE 来自 | 更新日期: 2023-09-27 18:18:09

我怎么才能做到这一点,有没有什么库可以简化它?用户需要能够在类似VB的语言中编写"宏",该语言存储在纯文本文件中。

这些宏随后被附加到c#应用程序中给定的按钮上,并在按钮被点击时执行。

这是一个windows窗体应用程序(可能是WPF)使用。net 4

我需要支持弹出窗体上的控件,如文本框,下拉列表,标签,按钮&可能还有一个图片盒。基本函数如IF THEN ELSE, *, -, %, +,/, =, contains, yes no cancel消息框…将数据从一个脚本传递到另一个脚本,并获取返回的数据。

我知道你在想什么,告诉他们安装VB.net免费版!但是我不能,因为我需要添加一些定制的功能来扩展语言,也允许与内部系统通信,通过现有的COM对象向系统提供读写。

另外,托管c#应用程序需要包含许多按钮,每个按钮都有自己的脚本附加。

如果这还不够糟糕的话,用户需要能够编写自己的脚本,所以理想情况下,还需要某种形式的基本IDE。

任何建议吗?

来自c#的迷你BASIC IDE

我想到了各种技术,可以实现您的部分需求。

1。)在RAD表单中使用Lightswitch
如果你想要一个简单的工具来快速构建简单的ui,你可以使用Lightswitch。你可以在Lightswitch中添加你自己的程序集作为参考,作为Lightswitch应用程序的代码框架。

2。)Windows Workflow Foundation RuleEngine
RuleEngine允许您修改/存储业务规则。您可以将内部程序集绑定到RuleEngine,然后可以根据绑定的程序集编写脚本代码。
规则是简单的"If"then"else"语句。http://karlreinsch.com/2010/10/18/wf-rules-unleashing-the-rule-engine-within-dot-net/

3)。动态加载XAML
使用WPF,您可以序列化/反序列化ui,并在运行时从文件加载它们。使用Blend或自己的工具,您可以创建ui并将它们绑定到业务逻辑。见http://social.msdn.microsoft.com/forums/en us/wpf/thread/a53ff197 - 8703 4 - c6c - 8726 - 45570304 - fb7b/

在您描述的情况下,我建议查看已经存在的脚本技术(可能是LUA)。然后,您可以将这类脚本与现有代码挂钩(例如您已经构建的API,以利用您想要的功能)。

我建议使用现有脚本系统的原因是因为它已经经过了尝试和测试,这意味着您不必自己定义新语言并构建解析引擎。