public RegexCompilerMethod(ParseDetails details)
        {
            regex = new Regex(details.RegularExpression);

            string classString = string.Format(EmbeddedResource.ReadToEnd("ProxySearch.Engine.Resources.ProxyParserRuntime._cs"), details.Code);

            CompilerParameters parameters = new CompilerParameters
            {
                GenerateInMemory = true
            };

            parameters.ReferencedAssemblies.Add("System.dll");
            parameters.ReferencedAssemblies.Add("System.Core.dll");
            parameters.ReferencedAssemblies.Add("System.Web.dll");
            parameters.ReferencedAssemblies.Add("ProxySearch.Engine.dll");

            CompilerResults compilerResult = new CSharpCodeProvider().CompileAssemblyFromSource(parameters, classString);

            if (compilerResult.Errors.Count > 0)
                throw new InvalidOperationException(string.Join(Environment.NewLine,
                                                                compilerResult.Errors
                                                                              .Cast<CompilerError>()
                                                                              .Select(error => error.ErrorText)));

            instance = compilerResult.CompiledAssembly.CreateInstance("ProxySearch.Engine.Resources.ProxyParserRuntime");
        }
        public RegexCompilerMethod(ParseDetails details)
        {
            regex = new Regex(details.RegularExpression);

            string classString = string.Format(EmbeddedResource.ReadToEnd("ProxySearch.Engine.Resources.ProxyParserRuntime._cs"), details.Code);

            CompilerParameters parameters = new CompilerParameters
            {
                GenerateInMemory = true
            };

            parameters.ReferencedAssemblies.Add("System.dll");
            parameters.ReferencedAssemblies.Add("System.Core.dll");
            parameters.ReferencedAssemblies.Add("System.Web.dll");
            parameters.ReferencedAssemblies.Add("ProxySearch.Engine.dll");

            CompilerResults compilerResult = new CSharpCodeProvider().CompileAssemblyFromSource(parameters, classString);

            if (compilerResult.Errors.Count > 0)
            {
                throw new InvalidOperationException(string.Join(Environment.NewLine,
                                                                compilerResult.Errors
                                                                .Cast <CompilerError>()
                                                                .Select(error => error.ErrorText)));
            }

            instance = compilerResult.CompiledAssembly.CreateInstance("ProxySearch.Engine.Resources.ProxyParserRuntime");
        }