Exemple #1
0
        public IEnumerable <TService> GetServices <TService>(IFlashMapperDependencyResolver currentInstnace)
            where TService : class
        {
            var serviceType = typeof(TService);
            List <Func <IFlashMapperDependencyResolver, object> > typeServiceResolvers;

            if (serviceResolvers.TryGetValue(serviceType, out typeServiceResolvers))
            {
                foreach (var typeServiceResolver in typeServiceResolvers)
                {
                    yield return((TService)typeServiceResolver(currentInstnace));
                }
            }
            var typeCustomServices = customServices.OfType <TService>();

            foreach (var customService in typeCustomServices)
            {
                yield return(customService);
            }


            if (internalConfiguration != null)
            {
                var internalServices = internalConfiguration.GetServices <TService>(currentInstnace);
                foreach (var internalService in internalServices)
                {
                    yield return(internalService);
                }
            }
        }