Ejemplo n.º 1
0
        /// <summary>
        ///     Bind service <typeparamref name="TService" /> to implementation <typeparamref name="TImplementation" />.
        /// </summary>
        /// <typeparam name="TImplementation">The type of the implementation.</typeparam>
        /// <returns>
        ///     Returns <see cref="T:IoC.Configuration.DiContainer.BindingsForCode.IBindingImplementationGeneric`2" />
        /// </returns>
        public IBindingImplementationGeneric <TService, TImplementation> To <TImplementation>() where TImplementation : TService
        {
            var bindingImplementationConfiguration = BindingImplementationConfigurationForCode.CreateTypeBasedImplementationConfiguration(BindingConfiguration.ServiceType, typeof(TImplementation));

            BindingConfiguration.AddImplementation(bindingImplementationConfiguration);
            return(new BindingImplementationGeneric <TService, TImplementation>(ServiceRegistrationBuilder, bindingImplementationConfiguration, this));
        }
        public BindingImplementationNonGeneric To(Type implementationType)
        {
            var bindingImplementationConfiguration = BindingImplementationConfigurationForCode.CreateTypeBasedImplementationConfiguration(BindingConfiguration.ServiceType, implementationType);

            BindingConfiguration.AddImplementation(bindingImplementationConfiguration);
            return(new BindingImplementationNonGeneric(ServiceRegistrationBuilder, bindingImplementationConfiguration, this));
        }