Mercurial > pub > ImplabNet
view Implab.ServiceHost/Unity/RegistrationBuilder.cs @ 277:963b17c275be v3
Refactoring
Added <array> element to injection parameters
Working on registrations of factories
author | cin |
---|---|
date | Sat, 28 Apr 2018 18:48:09 +0300 |
parents | 22629bf26121 |
children | f07be402ab02 |
line wrap: on
line source
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Xml.Serialization; using Implab.Xml; using Unity.Injection; using Unity.Lifetime; using Unity.Registration; namespace Implab.ServiceHost.Unity { /// <summary> /// Базовый класс для формирования записей в контейнере, созволяет указать время жизни для записи /// </summary> public abstract class RegistrationBuilder { public Type RegistrationType { get; private set; } internal LifetimeManager Lifetime { get; set; } protected RegistrationBuilder(Type registrationType) { RegistrationType = registrationType; } internal void Visit(SingletonLifetimeElement simgletonLifetime) { Lifetime = new SingletonLifetimeManager(); } internal void Visit(ContainerLifetimeElement containerLifetime) { Lifetime = new ContainerControlledLifetimeManager(); } internal void Visit(HierarchicalLifetimeElement hierarchicalLifetime) { Lifetime = new HierarchicalLifetimeManager(); } internal void Visist(ContextLifetimeElement contextLifetime) { Lifetime = new PerResolveLifetimeManager(); } } }