public static T CreateScriptObject <T>(this ICompiler compiler, CompilationPackage compilationPackage, string typeName, bool throwExceptionOnCompileFailed) where T : class { var assembly = compiler.CompileToAssembly(compilationPackage, throwExceptionOnCompileFailed); return(assembly.CreateInstance(typeName) as T); }
private Assembly CompileToAssembly(ScriptClassSourceCode classSourceCode) { var compilationPackage = BuildCompilationPackage(classSourceCode); compilationPackage.AddAllLoadedAssemblyReferences = true; return(_compiler.CompileToAssembly(compilationPackage, true)); }
public static T CreateScriptObject <T>(this ICompiler compiler, CompilationPackage compilationPackage, bool throwExceptionOnCompileFailed) where T : class { var assembly = compiler.CompileToAssembly(compilationPackage, throwExceptionOnCompileFailed); var type = assembly.ExportedTypes.FirstOrDefault(); if (type == null) { return(null); } return(Activator.CreateInstance(type) as T); }