在运行时从代码文件执行 C# 代码
我有一个包含按钮的 WPF C# 应用程序。
按钮单击的代码编写在单独的文本文件中,该文件将放置在应用程序运行时目录中。
我想在单击按钮时执行放置在文本文件中的代码。
知道如何做到这一点吗?
I have a WPF C# application that contains a button.
The code of the button click is written in separate text file which will be placed in the applications runtime directory.
I want to execute that code placed in the text file on the click of the button.
Any idea how to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
用于执行即时编译类方法的代码示例:
Code sample for executing compiled on fly class method:
您可以使用
Microsoft. CSharp.CSharpCodeProvider
即时编译代码。特别是,请参阅从文件编译程序集
。You can use
Microsoft.CSharp.CSharpCodeProvider
to compile code on-the-fly. In particular, seeCompileAssemblyFromFile
.我建议查看 Microsoft Roslyn,特别是它的
ScriptEngine
类。以下是一些很好的示例:
使用示例:
I recommend having a look at Microsoft Roslyn, and specifically its
ScriptEngine
class.Here are a few good examples to start with:
Usage example:
看起来有人为此创建了一个名为 C# Eval。
编辑:更新了指向 Archive.org 的链接,因为原始网站似乎已死。
Looks like someone created a library for this called C# Eval.
EDIT: Updated link to point to Archive.org as it seems like the original site is dead.
您需要的是 CSharpCodeProvider 类
有几个示例可以帮助您了解它是如何工作的。
1 http:// www.codeproject.com/Articles/12499/Run-Time-Code-Generation-I-Compile-C-Code-using-Mi
这个示例的要点是,实际上您可以立即完成所有操作。
2 http://www.codeproject.com/Articles/10324/Compiling- code-during-runtime
这个例子很好,因为您可以创建 dll 文件,因此可以在其他应用程序之间共享。
基本上你可以搜索 http://www.codeproject.com/search.aspx?q=csharpcodeprovider&x=0&y=0&sbo=kw&pgnum=6 并获取更多有用的链接。
What you need is a CSharpCodeProvider Class
There are several samples to understand how does it work.
1 http://www.codeproject.com/Articles/12499/Run-Time-Code-Generation-I-Compile-C-Code-using-Mi
The important point of this example that you can do all things on flay in fact.
2 http://www.codeproject.com/Articles/10324/Compiling-code-during-runtime
This example is good coz you can create dll file and so it can be shared between other applications.
Basically you can search for http://www.codeproject.com/search.aspx?q=csharpcodeprovider&x=0&y=0&sbo=kw&pgnum=6 and get more useful links.