Esempio n. 1
0
            public CustomObjectLifetimeFactory(Type registerType, Type registerImplementation, ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorMessage)
            {
                if (lifetimeProvider == null)
                {
                    throw new ArgumentNullException("lifetimeProvider", "lifetimeProvider is null.");
                }

                if (!IsValidAssignment(registerType, registerImplementation))
                {
                    throw new TinyIoCRegistrationTypeException(registerImplementation, "SingletonFactory");
                }

                //#if NETFX_CORE
                //				if (registerImplementation.GetTypeInfo().IsAbstract() || registerImplementation.GetTypeInfo().IsInterface())
                //#else
                if (registerImplementation.IsAbstract() || registerImplementation.IsInterface())
                {
                    //#endif
                    throw new TinyIoCRegistrationTypeException(registerImplementation, errorMessage);
                }

                this.registerType           = registerType;
                this.registerImplementation = registerImplementation;
                _LifetimeProvider           = lifetimeProvider;
            }
Esempio n. 2
0
 public override ObjectFactoryBase GetCustomObjectLifetimeVariant(ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorString)
 {
     _LifetimeProvider.ReleaseObject();
     return(new CustomObjectLifetimeFactory(registerType, registerImplementation, lifetimeProvider, errorString));
 }
Esempio n. 3
0
 public virtual ObjectFactoryBase GetCustomObjectLifetimeVariant(ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorString)
 {
     throw new TinyIoCRegistrationException(GetType(), errorString);
 }