Как стать автором
Обновить

Unity Auto Registration

Время на прочтение2 мин
Количество просмотров2K

Unity Auto Registration


Unity Auto Registration расширяет возможности Unity контейнера, предоставляя fluent interface для автоматической регистрации типов по установленным правилам. Используя всего несколько строк кода вы можете отсканировать указанную сборку и зарегистрировать все соответствующие указанным правилам типы.


В качестве правил вы можете использовать предикаты (Predicate), лямбда выражения и вызовы методов. If хелпер предоставляет все типовые варианты для описания условий.

Ниже представлен пример конфигурации с помощью Unity Auto Registration:

  1. var container = new UnityContainer();
  2.  
  3.       container
  4.         .ConfigureAutoRegistration()
  5.         .LoadAssemblyFrom("Plugin.dll")
  6.         .IncludeAllLoadedAssemblies()
  7.         .ExcludeSystemAssemblies()
  8.         .ExcludeAssemblies(a => a.GetName().FullName.Contains("Test"))
  9.         .Include(If.Implements<ILogger>, Then.Register().UsingPerCallMode())
  10.         .Include(If.ImplementsITypeName, Then.Register().WithTypeName())
  11.         .Include(If.Implements<ICustomerRepository>, Then.Register().WithName("Sample"))
  12.         .Include(If.Implements<IOrderRepository>,
  13.              Then.Register().AsSingleInterfaceOfType().UsingPerCallMode())
  14.         .Include(If.DecoratedWith<LoggerAttribute>,
  15.              Then.Register()
  16.                 .AsInterface<IDisposable>()
  17.                 .WithTypeName()
  18.                 .UsingLifetime<MyLifetimeManager>())
  19.         .Exclude(t => t.Name.Contains("Trace"))
  20.         .ApplyAutoRegistration();

Ресурсы


Скачать стафф можно на http://autoregistration.codeplex.com/
Теги:
Хабы:
+7
Комментарии9

Публикации

Истории

Работа

.NET разработчик
75 вакансий

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн