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; }
public override ObjectFactoryBase GetCustomObjectLifetimeVariant(ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorString) { _LifetimeProvider.ReleaseObject(); return(new CustomObjectLifetimeFactory(registerType, registerImplementation, lifetimeProvider, errorString)); }
public virtual ObjectFactoryBase GetCustomObjectLifetimeVariant(ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorString) { throw new TinyIoCRegistrationException(GetType(), errorString); }