public static Type CompileAndGetType(string typename, string language, string key,
string file, ArrayList assemblies)
{
CompilerResults result = CachingCompiler.Compile(language, key, file, assemblies);
if (result.NativeCompilerReturnValue != 0)
{
using (StreamReader reader = new StreamReader(file))
{
throw new CompilationException(file, result.Errors, reader.ReadToEnd());
}
}
Assembly assembly = result.CompiledAssembly;
if (assembly == null)
{
using (StreamReader reader = new StreamReader(file))
{
throw new CompilationException(file, result.Errors, reader.ReadToEnd());
}
}
Type type = assembly.GetType(typename, true);
InsertType(type, file);
return(type);
}