Ejemplo n.º 1
0
        /// <inheritdoc/>
        public IServiceRegister TryRegister(Type serviceType, object implementationInstance, RegistrationCompareMode mode = RegistrationCompareMode.ServiceType)
        {
            if (serviceType == null)
            {
                throw new ArgumentNullException(nameof(serviceType));
            }
            if (implementationInstance == null)
            {
                throw new ArgumentNullException(nameof(implementationInstance));
            }

            var descriptor = new ServiceDescriptor(serviceType, implementationInstance);

            if (mode == RegistrationCompareMode.ServiceType)
            {
                ServiceCollection.TryAdd(descriptor);
            }
            else if (mode == RegistrationCompareMode.ServiceTypeAndImplementationType)
            {
                ServiceCollection.TryAddEnumerable(descriptor);
            }
            else
            {
                throw new ArgumentOutOfRangeException(nameof(mode));
            }

            return(this);
        }
Ejemplo n.º 2
0
        /// <inheritdoc/>
        public IServiceRegister TryRegister(Type serviceType, Func <IServiceProvider, object> implementationFactory, ServiceLifetime serviceLifetime, RegistrationCompareMode mode = RegistrationCompareMode.ServiceType)
        {
            if (serviceType == null)
            {
                throw new ArgumentNullException(nameof(serviceType));
            }
            if (implementationFactory == null)
            {
                throw new ArgumentNullException(nameof(implementationFactory));
            }

            var descriptor = new ServiceDescriptor(serviceType, implementationFactory, TranslateLifetime(serviceLifetime));

            if (mode == RegistrationCompareMode.ServiceType)
            {
                ServiceCollection.TryAdd(descriptor);
            }
            else if (mode == RegistrationCompareMode.ServiceTypeAndImplementationType)
            {
                ServiceCollection.TryAddEnumerable(descriptor);
            }
            else
            {
                throw new ArgumentOutOfRangeException(nameof(mode));
            }

            return(this);
        }
 public IServiceRegister TryRegister(Type serviceType, Func <IServiceProvider, object> implementationFactory, ServiceLifetime serviceLifetime, RegistrationCompareMode mode = RegistrationCompareMode.ServiceType)
 => MockBuilder.Object.TryRegister(serviceType, implementationFactory, serviceLifetime, mode);
 public IServiceRegister TryRegister(Type serviceType, Type implementationType, ServiceLifetime serviceLifetime, RegistrationCompareMode mode = RegistrationCompareMode.ServiceType)
 => MockBuilder.Object.TryRegister(serviceType, implementationType, serviceLifetime, mode);
 public IServiceRegister TryRegister(Type serviceType, object implementationInstance, RegistrationCompareMode mode = RegistrationCompareMode.ServiceType)
 => MockBuilder.Object.TryRegister(serviceType, implementationInstance, mode);