private void initializePatterns() { if (_patterns == null) { _patterns = new List <PatternBase>(); foreach (ConfigurableElement patternConfiguration in AcroniManagerConfigurationSection.Instance.Patterns) { Type patternType = ConfigurableBase.GetType(patternConfiguration.Class, typeof(PatternBase), "pattern"); Data.Matcher matcher = MatcherFactory.GetMatcher(patternConfiguration); if (patternConfiguration.Configurations == null || patternConfiguration.Configurations.Count == 0) { CreatePattern(patternType, null, matcher); } else { foreach (ParameterizableConfigurationElement executionConfiguration in patternConfiguration.Configurations) { CreatePattern(patternType, executionConfiguration, matcher); } } } } }
private void CreatePattern(Type patternType, ParameterizableConfigurationElement patternConfiguration, Data.Matcher matcher) { PatternBase pattern = ConfigurableBase.CreateConfigurableItem <PatternBase>(patternType, patternConfiguration != null ? patternConfiguration.Parameters : null); pattern.Configuration = ConfigurationFactory.GetConfiguration(patternConfiguration, matcher); _patterns.Add(pattern); }