CSScriptCompilers.CSharpCompiler.CompileAssemblyFromFileBatch C# (CSharp) Метод

CompileAssemblyFromFileBatch() публичный Метод

public CompileAssemblyFromFileBatch ( CompilerParameters options, string fileNames ) : CompilerResults
options System.CodeDom.Compiler.CompilerParameters
fileNames string
Результат System.CodeDom.Compiler.CompilerResults
        public CompilerResults CompileAssemblyFromFileBatch(CompilerParameters options, string[] fileNames)
        {
            string tempFile;
            ArrayList classlessFiles = new ArrayList();
            ArrayList files = new ArrayList();
            int count = 0;
            CCSharpParser ccs;
            foreach (string file in fileNames)
            {
                ccs = new CCSharpParser(file);
                if (!ccs.isClassless)
                {
                    files.Add(file);
                }
                else
                {
                    tempFile = ccs.ToTempFile(count > 0);
                    classlessFiles.Add(tempFile);
                    files.Add(tempFile);
                }
                count++;
            }

            CompilerResults retval;

            if (version == "" || version == null)
                retval = new Microsoft.CSharp.CSharpCodeProvider().CreateCompiler().CompileAssemblyFromFileBatch(options, (string[])files.ToArray(typeof(string)));
            else
                retval = new Microsoft.CSharp.CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", version } }).CreateCompiler().CompileAssemblyFromFileBatch(options, (string[])files.ToArray(typeof(string)));

            if (!retval.Errors.HasErrors)
                foreach (string file in classlessFiles)
                    try
                    {
                        File.Delete(file);
                    }
                    catch { }

            return retval;
        }
    }