Exemplo n.º 1
0
 /// <summary>
 /// End register
 /// </summary>
 /// <param name="register"></param>
 /// <returns></returns>
 public static ContainerBuilder Finish(this DependencyProxyRegister <ContainerBuilder> register)
 {
     using (register)
     {
         return(register.RawServices);
     }
 }
 /// <summary>
 /// End register
 /// </summary>
 /// <param name="register"></param>
 /// <returns></returns>
 public static IServiceCollection Finish(this DependencyProxyRegister <IServiceCollection> register)
 {
     using (register)
     {
         return(register.RawServices);
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// End register
        /// </summary>
        /// <param name="register"></param>
        /// <typeparam name="TService"></typeparam>
        /// <returns></returns>
        /// <exception cref="ArgumentException"></exception>
        public static IServiceContext Finish <TService>(this DependencyProxyRegister register)
            where TService : IServiceContext
        {
            if (register is DependencyProxyRegister <IServiceContext> typedRegister)
            {
                typedRegister.Finish();
            }

            throw new ArgumentException("Cannot convert register to 'DependencyProxyRegister<IServiceContext>'.");
        }
Exemplo n.º 4
0
        /// <summary>
        /// End register
        /// </summary>
        /// <param name="register"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentException"></exception>
        public static ContainerBuilder Finish(this DependencyProxyRegister register)
        {
            if (register is DependencyProxyRegister <ContainerBuilder> typedRegister)
            {
                using (typedRegister)
                {
                    return(typedRegister.RawServices);
                }
            }

            throw new ArgumentException("Cannot convert register to 'DependencyProxyRegister<ContainerBuilder>'.");
        }
        /// <summary>
        /// End register
        /// </summary>
        /// <param name="register"></param>
        /// <typeparam name="TService"></typeparam>
        /// <returns></returns>
        /// <exception cref="ArgumentException"></exception>
        public static IServiceCollection Finish <TService>(this DependencyProxyRegister register)
            where TService : IServiceCollection
        {
            if (register is DependencyProxyRegister <IServiceCollection> typedRegister)
            {
                using (typedRegister)
                {
                    return(typedRegister.RawServices);
                }
            }

            throw new ArgumentException("Cannot convert register to 'DependencyProxyRegister<IServiceCollection>'.");
        }
Exemplo n.º 6
0
        /// <summary>
        /// Register Proxy
        /// </summary>
        /// <param name="services"></param>
        /// <param name="bag"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException"></exception>
        public static ContainerBuilder RegisterProxyFrom(this ContainerBuilder services, DependencyProxyRegister bag)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            if (bag != null)
            {
                var descriptors = bag.ExportDescriptors();

                foreach (var descriptor in descriptors)
                {
                    switch (descriptor.ProxyType)
                    {
                    case DependencyProxyType.TypeToType:
                        TypeToTypeRegister(services, descriptor);
                        break;

                    case DependencyProxyType.TypeToInstance:
                        TypeToInstanceRegister(services, descriptor);
                        break;

                    case DependencyProxyType.TypeToInstanceFunc:
                        TypeToInstanceFuncRegister(services, descriptor);
                        break;

                    case DependencyProxyType.TypeSelf:
                        TypeSelfRegister(services, descriptor);
                        break;

                    case DependencyProxyType.InstanceSelf:
                        InstanceSelfRegister(services, descriptor);
                        break;

                    case DependencyProxyType.InstanceSelfFunc:
                        InstanceSelfFuncRegister(services, descriptor);
                        break;

                    case DependencyProxyType.TypeToResolvedInstanceFunc:
                        TypeToResolvedInstanceFuncRegister(services, descriptor);
                        break;

                    case DependencyProxyType.ResolvedInstanceSelfFunc:
                        ResolvedInstanceSelfFuncRegister(services, descriptor);
                        break;
                    }
                }
            }

            return(services);
        }
        /// <summary>
        /// Register Proxy
        /// </summary>
        /// <param name="services"></param>
        /// <param name="bag"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException"></exception>
        public static IServiceContext RegisterProxyFrom(this IServiceContext services, DependencyProxyRegister bag)
        {
            services.CheckNull(nameof(services));

            if (bag != null)
            {
                var descriptors = bag.ExportDescriptors();

                foreach (var descriptor in descriptors)
                {
                    switch (descriptor.ProxyType)
                    {
                    case DependencyProxyType.TypeToType:
                        TypeToTypeRegister(services, descriptor);
                        break;

                    case DependencyProxyType.TypeToInstance:
                        TypeToInstanceRegister(services, descriptor);
                        break;

                    case DependencyProxyType.TypeToInstanceFunc:
                        TypeToInstanceFuncRegister(services, descriptor);
                        break;

                    case DependencyProxyType.TypeSelf:
                        TypeSelfRegister(services, descriptor);
                        break;

                    case DependencyProxyType.InstanceSelf:
                        InstanceSelfRegister(services, descriptor);
                        break;

                    case DependencyProxyType.InstanceSelfFunc:
                        InstanceSelfFuncRegister(services, descriptor);
                        break;

                    case DependencyProxyType.TypeToResolvedInstanceFunc:
                        TypeToResolvedInstanceFuncRegister(services, descriptor);
                        break;

                    case DependencyProxyType.ResolvedInstanceSelfFunc:
                        ResolvedInstanceSelfFuncRegister(services, descriptor);
                        break;
                    }
                }
            }

            return(services);
        }