Mercurial > pub > ImplabNet
comparison 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 |
comparison
equal
deleted
inserted
replaced
276:b4e0f81c7425 | 277:963b17c275be |
---|---|
3 using System.ComponentModel; | 3 using System.ComponentModel; |
4 using System.Linq; | 4 using System.Linq; |
5 using System.Xml.Serialization; | 5 using System.Xml.Serialization; |
6 using Implab.Xml; | 6 using Implab.Xml; |
7 using Unity.Injection; | 7 using Unity.Injection; |
8 using Unity.Lifetime; | |
8 using Unity.Registration; | 9 using Unity.Registration; |
9 | 10 |
10 namespace Implab.ServiceHost.Unity { | 11 namespace Implab.ServiceHost.Unity { |
12 /// <summary> | |
13 /// Базовый класс для формирования записей в контейнере, созволяет указать время жизни для записи | |
14 /// </summary> | |
11 public abstract class RegistrationBuilder { | 15 public abstract class RegistrationBuilder { |
12 public Type RegistrationType { | 16 public Type RegistrationType { |
13 get; | 17 get; |
14 private set; | 18 private set; |
15 } | 19 } |
16 | 20 |
21 internal LifetimeManager Lifetime { get; set; } | |
22 | |
17 protected RegistrationBuilder(Type registrationType) { | 23 protected RegistrationBuilder(Type registrationType) { |
18 RegistrationType = registrationType; | 24 RegistrationType = registrationType; |
19 } | 25 } |
26 | |
27 internal void Visit(SingletonLifetimeElement simgletonLifetime) { | |
28 Lifetime = new SingletonLifetimeManager(); | |
29 } | |
30 | |
31 internal void Visit(ContainerLifetimeElement containerLifetime) { | |
32 Lifetime = new ContainerControlledLifetimeManager(); | |
33 } | |
34 | |
35 internal void Visit(HierarchicalLifetimeElement hierarchicalLifetime) { | |
36 Lifetime = new HierarchicalLifetimeManager(); | |
37 } | |
38 | |
39 internal void Visist(ContextLifetimeElement contextLifetime) { | |
40 Lifetime = new PerResolveLifetimeManager(); | |
41 } | |
20 } | 42 } |
21 } | 43 } |