Esempio n. 1
0
        public static DefaultRuleProvider Create(Settings settings)
        {
            var result = new DefaultRuleProvider();

            // Inject rules using MEF
            var config = new ContainerConfiguration();
            var assemblyPath = Assembly.LoadFrom(ConfigManager.Current.RuleLibraryPath);
            config.WithAssembly(assemblyPath);

            using (var container = config.CreateContainer())
            {
                container.SatisfyImports(result);
            }

            // Set rules settings
            foreach (var rule in result.Rules)
            {
                rule.Settings = settings;
            }

            return result;
        }
Esempio n. 2
0
 public Critic(RuleContext context, Settings settings = null, IRuleProvider ruleProvider = null)
 {
     Context = context;
     Settings = settings ?? new Settings();
     RuleProvider = ruleProvider ?? DefaultRuleProvider.Create(Settings);
 }