使用 C# 使用户脚本拥有与自己的应用程序交互的代码

问题描述

我正在构建一个应用程序,您可以在其中使用 C# 和 .NET 创建和绘制图形和树。此外,您还可以显示该图的一些属性,例如分量数或圆数等。

除了我放入应用程序的自己的方法之外,我想让用户有可能编写自己的代码来计算自己的图形属性,例如最短路径或类似的东西。然后我希望在应用程序中实现这些属性,并像我自己的属性一样显示和正确计算。

用户可以使用哪种语言现在并不重要,尽管 JavaScript 是理想的选择。

有没有办法做到这一点?也许有任何框架可以同时解释该语言并将计算出的数据传输到我的应用程序。

如果需要,我会感谢您的每一个答案或提示,我也会为您提供更多信息。

谢谢!

朱利安

解决方法

Roslyn 来救援! Microsoft 有一个很棒的 AP​​I 可以即时访问编译器服务。这是用于提供应用内 c# 脚本的 tutorial。提醒一下,如果这不仅仅是玩具,我强烈建议您研究解析不受信任的代码所固有的安全隐患,并找到某种方法将其容器化。

,

堆栈语言是相当高效的——看看 .NET 或 JVM 的底层中间语言。所以我使用 Forth 作为我的嵌入式脚本语言,因为我可以自己编写它,并保持它尽可能小或简单。建议在您的本地 c# 中生成示例,然后以微小的步骤向后工作,直到它可以编写脚本。通过几条路径,然后开始填写。