public bool Compile() { List <string> code_files = new List <string>(classes.Count + 1); code_files.Add(GameClass.GenerateCode()); foreach (var c in classes) { code_files.Add(c.GenerateCode()); } var prov = new CSharpCodeProvider(); var parameters = new CompilerParameters(); parameters.GenerateExecutable = true; parameters.ReferencedAssemblies.AddRange(references.ToArray()); parameters.MainClass = GameClass.Name; var results = prov.CompileAssemblyFromSource(parameters, code_files.ToArray()); return(results.Errors.Count == 0); }