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;
}