1

使用 CodeDOM 我能够编译我在单独文件中编写的源代码:

    CompilerResults results = codeCompiler.CompileAssemblyFromFile(parameters, @"C:\MyScript.cs");
    results.CompiledAssembly.GetType("Script").GetMethod("Main").Invoke(null, null);

有没有一种方法可以代替从文件中读取源代码 - MyScript.cs - 所以我可以在表单上放置一个富文本框并将代码放入其中?

4

1 回答 1

2

查看文档CSharpCodeProvider:它包含一个方法,该方法CompileAssemblyFromSource()采用一个或多个包含要编译的代码的字符串。

因此,您的代码可能如下所示:

CompilerResults results = codeCompiler.CompileAssemblyFromSource(
    parameters, codeFromTextBox);
于 2012-04-27T21:31:01.827 回答