Example #1
0
        internal static IRegistrationBuilder <TLimit, GeneratedFactoryActivatorData, SingleRegistrationStyle> RegisterGeneratedFactory <TLimit>(ContainerBuilder builder, Type delegateType, Service service)
        {
            GeneratedFactoryActivatorData activatorData = new GeneratedFactoryActivatorData(delegateType, service);
            RegistrationBuilder <TLimit, GeneratedFactoryActivatorData, SingleRegistrationStyle> rb = new RegistrationBuilder <TLimit, GeneratedFactoryActivatorData, SingleRegistrationStyle>(new TypedService(delegateType), activatorData, new SingleRegistrationStyle());

            builder.RegisterCallback(delegate(IComponentRegistry cr) {
                RegistrationBuilder.RegisterSingleComponent <TLimit, GeneratedFactoryActivatorData, SingleRegistrationStyle>(cr, rb);
            });
            return(rb.InstancePerLifetimeScope());
        }
        RegisterGeneratedFactory <TLimit>(ContainerBuilder builder, Type delegateType, Service service)
        {
            var activatorData = new GeneratedFactoryActivatorData(delegateType, service);

            var rb = new RegistrationBuilder <TLimit, GeneratedFactoryActivatorData, SingleRegistrationStyle>(
                new TypedService(delegateType),
                activatorData,
                new SingleRegistrationStyle());

            builder.RegisterCallback(cr => RegistrationBuilder.RegisterSingleComponent(cr, rb));

            return(rb.InstancePerLifetimeScope());
        }