Вы можете использовать ConfigureServices
метод IWebHostBuilder
для внедрения сбора службы. И тогда этот экземпляр будет передан методу ConfigureServices
класса Startup. И я думаю, что метод расширения - это путь. Но, на мой взгляд, переименование метода расширения в AddRange
имеет смысл:
WebHost.CreateDefaultBuilder(args)
.ConfigureServices(servicesCollection =>
{
var mainServiceCollection = ...;
servicesCollection.AddRange(mainServiceCollection);
})
.UseStartup<Startup>();
А вот метод расширения, который является слегка измененной вашей версией:
public static IServiceCollection AddRange(this IServiceCollection current, IServiceCollection main)
{
if(current == null)
{
throw ArgumentNullException();
}
foreach (var serv in main)
{
current.Add(serv);
}
return current;
}