您可以使用 CodeSnippetCompileUnit 来完成,它是 CodeCompileUnit 的子类:
string source = @"
using System;
namespace SomeNamespace
{
public class Class0
{
}
}";
var csu0 = new CodeSnippetCompileUnit(curSource);
Run Code Online (Sandbox Code Playgroud)
附加信息:
如果您有多个单元,您可以将它们放在一起以生成一个组件:
CodeDomProvider provider = new CSharpCodeProvider();
CompilerResults results = provider.CompileAssemblyFromDom(new CompilerParameters(), csu0, csu1 /*arbitrary number*/);
Run Code Online (Sandbox Code Playgroud)
当然,来自所有这些 CodeSnippetCompileUnit 的类有可能相互引用。