Я пытаюсь написать расширение ServiceCollection ниже.Странно то, что при попытке передать section
методу services.Configure()
он говорит, что его нельзя преобразовать из IConfigurationSection
в Action<EsiConfig>
.
public static IServiceCollection AddEsi(this IServiceCollection services, IConfigurationSection section)
{
services.Configure<EsiConfig>(section);
services.AddScoped<IEsiClient, EsiClient>();
return services;
}
Что странно в этом?код в Startup.cs идентичен:
services.Configure<EsiConfig>(Configuration.GetSection("ESIConfig"));
services.AddScoped<IEsiClient, EsiClient>();
// Implementation of the ServiceCollection extension
services.AddEsi(Configuration.GetSection("ESIConfig"));
Эта первая строка отлично работает, и когда вы наводите курсор мыши на GetSection, он возвращает ICollectionSection, который передается в тот же точный метод (Config()
), который принимаетточно такой же тип свойства Action<EsiConfig>
.
Не уверен, что мне вообще не хватает, и я действительно сбит с толку.