diff Implab.ServiceHost/Unity/AbstractRegistration.cs @ 279:8714471e8d78 v3

Container configuration cleanup, RC2
author cin
date Fri, 04 May 2018 18:12:42 +0300
parents 963b17c275be
children
line wrap: on
line diff
--- a/Implab.ServiceHost/Unity/AbstractRegistration.cs	Thu May 03 09:59:44 2018 +0300
+++ b/Implab.ServiceHost/Unity/AbstractRegistration.cs	Fri May 04 18:12:42 2018 +0300
@@ -8,7 +8,7 @@
     /// <summary>
     /// Базовая информаци о регистрации в контейнере: тип, имя и время жизни
     /// </summary>
-    public abstract class AbstractRegistration : AbstractContainerItem {
+    public abstract class AbstractRegistration : AbstractContainerItem, IRegistration {
 
         /// <summary>
         /// An optional name for a registration in the container
@@ -30,13 +30,19 @@
         [XmlAttribute("type")]
         public string RegistrationType { get; set; }
 
+        public virtual LifetimeManager GetLifetime(ContainerBuilder builder) {
+            return Lifetime?.GetLifetime(builder);
+        }
+
         public virtual Type GetRegistrationType(Func<string,Type> resolver) {
             return resolver(RegistrationType);
         }
 
-        public virtual void Visit(RegistrationBuilder builder) {
-            Lifetime?.Visit(builder);
+        public virtual Type GetRegistrationType(ContainerBuilder builder) {
+            return builder.ResolveType(RegistrationType);
         }
 
+        
+
     }
 }
\ No newline at end of file