/// <inheritdoc /> /// <summary> /// Note: as a result of how this is called, this will only create scoped services for the scenario service provider. /// </summary> /// <param name="serviceType"></param> /// <returns></returns> public object GetService(Type serviceType) { if (!serviceType.IsConstructedGenericType || serviceType.GetGenericTypeDefinition() != typeof(IEnumerable <>)) //To support GetServices. { return(serviceType == typeof(IServiceScopeFactory) ? new DefaultScopedServicesFactory(ScenarioID, BaseProvider, ScenarioProvider) : ScenarioProvider.GetService(serviceType) ?? BaseProvider.GetService(serviceType)); } var temphold = ((IEnumerable <object>)ScenarioProvider.GetService(serviceType)); var baseOut = (IEnumerable <object>)BaseProvider.GetService(serviceType); return(baseOut == null ? temphold : temphold.Concat(baseOut)); }