private Predicate <Type> CreateExtensionFilter() { Predicate <Type> filter = null; TypeFilterSettings settings = ExtensionFilterSettings; try { settings.Load(); filter = new Predicate <Type>(t => { bool filtered = settings[t]; if (filtered) { extensionsFiltered++; } return(!filtered); }); } catch (Exception e) { logger.Write(e, LogExtensionErrorLoadingFilter); runErrors = true; } return(filter); }
private void ShowExtensionFilter() { TypeFilterAssemblyLoader loader = new TypeFilterAssemblyLoader(sberBank.PathManager.ExtensionsPath, TypeFilterAssemblyLoader.GetExtensionSelector <ISberBank, ISberBankExtension>()); TypeFilterSettings settings = sberBank.ExtensionFilterSettings; TypeFilterForm form = new TypeFilterForm(); form.Text = "Загружаемые расширения"; form.Setup(new object[] { settings, loader }); if (form.ShowDialog() != DialogResult.OK) { return; } Exception x = form.GetResult <Exception>(); if (x != null) { this.ShowError(x); } else { sberBank.Logger.Write(LogLevel.Verbose, String.Format("Установлен фильтр расширений, всего {0}", settings.Count)); } }