//首先要包含必要的命名空间
using Microsoft.CSharp;
public double Calculate(string formula)
{
CSharpCodeProvider provider = new CSharpCodeProvider();
CompilerParameters parameter = new CompilerParameters();
parameter.ReferencedAssemblies.Add("System.dll");
parameter.GenerateExecutable = false; //<--不生成exe
parameter.GenerateInMemory = true; //<--直接在内存运行
CompilerResults result = provider.CompileAssemblyFromSource(
parameter, GenerateCodeBlocks(formula));
//动态编译(VisualStudio)