public static void AddProviderTypeManager(Func <Type, bool> condition, Action <Type> action, LoadedProviderTypeLoaders loadedProviderTypeLoadersSingleton, ILoggerFactory loggerFactory) { var manager = new ProviderTypeLoader(condition, action, loggerFactory); loadedProviderTypeLoadersSingleton.Managers.Add(manager); manager.ProcessLoadedAssemblies(loadedProviderTypeLoadersSingleton); }
public ProviderTypeLookup(ILoggerFactory loggerFactory) { this.lookup = new Dictionary <string, Type>(); var logger = loggerFactory.CreateLogger <LoadedProviderTypeLoaders>(); var loader = new LoadedProviderTypeLoaders(logger); ProviderTypeLoader.AddProviderTypeManager(t => typeof(IProvider).IsAssignableFrom(t), RegisterProviderType, loader, loggerFactory); }
public static void AddProviderTypeManager(Func<Type, bool> condition, Action<Type> action) { var manager = new ProviderTypeLoader(condition, action); lock (managers) { managers.Add(manager); } manager.ProcessLoadedAssemblies(); }
public static void AddProviderTypeManager(Func <Type, bool> condition, Action <Type> action) { var manager = new ProviderTypeLoader(condition, action); lock (managers) { managers.Add(manager); } manager.ProcessLoadedAssemblies(); }
public void LoadProviders(IDictionary <string, IProviderConfiguration> configs, IProviderManager providerManager) { providerConfigs = configs ?? new Dictionary <string, IProviderConfiguration>(); foreach (var provider in providerConfigs.Values) { ((ProviderConfiguration)provider).SetProviderManager(providerManager); } // Load providers ProviderTypeLoader.AddProviderTypeManager(t => typeof(TProvider).IsAssignableFrom(t), RegisterProviderType); ValidateProviders(); }