2015-02-26 1 views
2

Можете ли вы зарегистрировать фабрики типов по договоренности? получил это далеко и не может найти способ сказать .AsFactory()Тип предприятия-изготовителя с условным обозначением

 container.AddFacility<TypedFactoryFacility>(); 
     container.Register(Classes 
      .FromThisAssembly() 
      .InNamespace("Core.Factories", true) 
      ); 

Это не может быть выполнимо, но предпочел бы не зарегистрироваться каждый завод вручную.

Заранее спасибо

ответ

3

Вы можете вызвать Configure при использовании конфигурации конвенции; это позволяет передавать лямбда, который затем вызывается для каждого компонента, соответствующей конвенции: просто позвоните AsFactory в лямбда

container.Register(
    Classes 
     .FromThisAssembly() 
     .InNamespace("Core.Factories", true) 
     .Configure(c => c.AsFactory()) 
); 
+1

Просто ради ясности я должен был использовать типы вместо классов, так что заводы, которые типизированных завод будет поймать тоже. Я знал о настройке, но не думал об этом, EPIC! – workabyte