예제 #1
0
 public PluginsContainer(
     Lazy <IEnumerable <TPlugin> > plugins,
     Lazy <IIndex <Type, IEnumerable <TPlugin> > > pluginsByImplementation,
     PluginsMetadataCache <TPlugin> cache)
 {
     _sortedPlugins           = new Lazy <IEnumerable <TPlugin> >(() => _cache.SortedByMetadataDependsOnAndRemoveSuppressed(typeof(object), PreSort(plugins.Value)));
     _pluginsByImplementation = pluginsByImplementation;
     _cache = cache;
 }
예제 #2
0
 public PluginsContainer(
     Lazy <IEnumerable <TPlugin> > plugins,
     Lazy <IIndex <Type, IEnumerable <TPlugin> > > pluginsByImplementation,
     PluginsMetadataCache <TPlugin> cache)
 {
     _sortedPlugins           = new Lazy <IEnumerable <TPlugin> >(() => SortPlugins(plugins.Value));
     _pluginsByImplementation = pluginsByImplementation;
     _cache = cache;
 }
예제 #3
0
 public NamedPlugins(IIndex <string, IEnumerable <TPlugin> > pluginsByName, PluginsMetadataCache <TPlugin> cache)
 {
     _pluginsByName = pluginsByName;
     _cache         = cache;
 }