/// <summary> /// Creates new instance of CSScriptEngine with provided ICompilationSystem under the hood. /// </summary> /// <param name="compilationProvider">Implementation of ICompilationSystem interface.</param> public CSScriptEngine(ICompilationSystem compilationProvider) { _unit = new CompilationUnit(compilationProvider); _allAppDomainAssemblies = AppDomain.CurrentDomain.GetAssemblies(); //We need to reference executing assembly, because it contains IScript interface, which //is used in CompileCode as wrapper class. _unit.ReferenceAssemblies(Assembly.GetExecutingAssembly()); }
//Push dependency up the hierarchy public CompilationUnit(ICompilationSystem compilationProvider) { _eval = compilationProvider; }