使用CodeDOM我能够编译我在单独文件中编写的源代码:
CompilerResults results = codeCompiler.CompileAssemblyFromFile(parameters, @"C:\MyScript.cs");
results.CompiledAssembly.GetType("Script").GetMethod("Main").Invoke(null, null);
有没有办法代替从文件中读取源代码 - MyScript.cs - 所以我可以在表单上放一个富文本框并将代码放在那里?
答案 0 :(得分:2)
查看CSharpCodeProvider
的文档:它包含一个方法CompileAssemblyFromSource()
,它接受一个或多个包含要编译的代码的字符串。
因此,您的代码可能如下所示:
CompilerResults results = codeCompiler.CompileAssemblyFromSource(
parameters, codeFromTextBox);