GetRequiredService with IEnumerable<T>, which then calls GetService. There is nothing in the contract of IServiceProvider that says if you pass an IEnumerable<T> as the service type to GetService, it would return a IEnumerable of all registered services. Does this mean that GetServices only works with the internal implementation of IServiceProvider by MS?