コード例 #1
0
 private void ApplyDynamicConfigurators(TypesList typesList)
 {
     var configurationSet = new ServiceConfigurationSet();
     var builder = new ServiceConfigurationBuilder<object>(configurationSet);
     foreach (var c in dynamicConfigurators)
     {
         var targetTypes = c.BaseType == null ? typesList.Types.ToList() : typesList.InheritorsOf(c.BaseType);
         foreach (var t in targetTypes)
         {
             if (configurations.ContainsKey(t))
                 continue;
             try
             {
                 c.ConfigureAction(t, builder);
             }
             catch (Exception e)
             {
                 const string messageFormat = "exception invoking [{0}] for [{1}]";
                 throw new SimpleContainerException(string.Format(messageFormat, c.Description, t.FormatName()), e);
             }
             if (configurationSet.IsEmpty())
                 continue;
             if (!string.IsNullOrEmpty(c.Description))
                 configurationSet.SetDefaultComment(c.Description);
             configurations.Add(t, configurationSet);
             configurationSet = new ServiceConfigurationSet();
             builder = new ServiceConfigurationBuilder<object>(configurationSet);
         }
     }
 }
コード例 #2
0
 public ServiceConfigurationSet GetConfigurationSet(Type type)
 {
     ServiceConfigurationSet result;
     if (!configurations.TryGetValue(type, out result))
         configurations.Add(type, result = new ServiceConfigurationSet());
     return result;
 }