如何使用C#代码运行C#代码?

3
我之前曾询问过同样类型的问题,但那是关于Java的...
现在为了学习,我想知道...
使用另一个C#代码运行一个C#代码是否可能?
因为我知道C#非常强大,所以一定有方法可以实现。

有一个名为CodeDom的命名空间可以实现这个功能。请查看此文章 - Sergej Andrejev
2个回答

4

这是同样的道理:

  • 编译代码,例如使用CSharpCodeProvider
  • 执行代码,例如使用反射

如果您从C# in Depth网站下载Snippy,就可以看到一个小示例 - 基本上您可以输入C#代码片段,它可以为您编译和执行。


4
这是一个运行时特性;在MS .NET中,CSharpCodeProvider是目前最接近的选择,尽管他们可能会在未来考虑"编译器作为服务"。
如果你愿意使用Mono,它已经存在了,并且有REPL示例
用法(来自这里):
  // First setup the active using statements:
  Evaluator.Run ("using System;");

  Evaluator.Run ("Console.WriteLine (\"Hello, World\");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接