我希望能够将代码写入已经运行的程序中,当我点击 UI 上的发送代码按钮时,该程序将编译和实现代码。
例如:
如果我输入:
MessageBox.Show("Hello World");
然后点击发送,我会弹出一个说 Hello World 的窗口。
我已经搜索并搜索了解决方法,但我无法得到任何工作。
谁能推荐一个好方法来做到这一点?
我希望能够将代码写入已经运行的程序中,当我点击 UI 上的发送代码按钮时,该程序将编译和实现代码。
例如:
如果我输入:
MessageBox.Show("Hello World");
然后点击发送,我会弹出一个说 Hello World 的窗口。
我已经搜索并搜索了解决方法,但我无法得到任何工作。
谁能推荐一个好方法来做到这一点?
您可以使用CSharpCodeProvider
,但它是一项较旧的技术,很快就会过时。
Microsoft 正在玩弄的最新项目是 Roslyn,它目前在 CTP 中,它公开了 Microsoft 和 VStudio 等在构建 C# 和 VB.NET 应用程序时使用的编译器和分析系统。
这是有关如何使用其内置脚本引擎的链接。
http://visualstudiomagazine.com/articles/2011/11/16/the-roslyn-scripting-api.aspx
您正在寻找的是CSharpCodeProvider。
这允许您从源代码编译或评估 C# 代码并运行它。它可以在运行中和从另一个进程中完成。