internal JintPluginsWatcher(string pluginPath, PluginsAssembliesStore store)
        {
            this.store = store;
            var watcher = new FileSystemWatcher(pluginPath, "*.dll") { EnableRaisingEvents = true };

            watcher.Created += PluginCreatedOrChanged;
            watcher.Changed += PluginCreatedOrChanged;
            watcher.Deleted += PluginDeleted;
        }
示例#2
0
 private static IEnumerable<object> LoadPluginsInstances(PluginsAssembliesStore assembliesStore)
 {
     return assembliesStore.Assemblies.Select(assembly => assembly.Value
         .GetTypes()
         .Where(p => typeof(IPlugin).IsAssignableFrom(p))).SelectMany(plugins => plugins.Select(Activator.CreateInstance));
 }