private static bool AddProvider(string providerName, IProvider provider) { ProviderWapper wapper = null; if ((wapper = providerWappers.FirstOrDefault(s => s.Provider == provider)) != null) { wapper.Alias.Add(providerName); return(false); } else { providerWappers.Add(new ProviderWapper { Alias = new List <string> { providerName }, Provider = provider }); return(true); } }
private static bool AddProvider(string[] providerNames, Type providerType, Func <IProvider> factory) { ProviderWapper wapper = null; if ((wapper = _providerWappers.FirstOrDefault(s => s.ProviderType == providerType)) != null) { wapper.Alias.AddRange(providerNames); return(false); } else { _providerWappers.Add(new ProviderWapper { Alias = new List <string>(providerNames), ProviderType = providerType, LazyValue = new Lazy <IProvider>(factory) }); return(true); } }