Esempio n. 1
0
        public void Apply(TypeConfig config)
        {
            config.AssertNotNull();
            var from = _log.GetOrDefault(config, -1) + 1;

            from.UpTo(_clauses.Count() - 1).ForEach(i =>
            {
                Clauses[i](config);
                _log[config] = i;
            });
        }
Esempio n. 2
0
 public static TypeConfig Adhoc(this Type t)
 {
     if (t == null) return new TypeConfig(t);
     return Repository.Configs.GetOrCreate(t, () =>
     {
         var config = new TypeConfig(t);
         var rules = Repository.Rules.OfType<TypeRule>().Where(rule => rule.AppliesTo(t)).ToReadOnly();
         rules.ForEach(rule => rule.Apply(config));
         return config;
     }).AssertCast<TypeConfig>();
 }
Esempio n. 3
0
 public static TypeConfig Adhoc(this Type t)
 {
     if (t == null)
     {
         return(new TypeConfig(t));
     }
     return(Repository.Configs.GetOrCreate(t, () =>
     {
         var config = new TypeConfig(t);
         var rules = Repository.Rules.OfType <TypeRule>().Where(rule => rule.AppliesTo(t)).ToReadOnly();
         rules.ForEach(rule => rule.Apply(config));
         return config;
     }).AssertCast <TypeConfig>());
 }