Мне интересно, можно ли динамически привязать раздел конфигурации к объекту.Обычно для привязки раздела конфигурации мы пишем код, подобный следующему:
var section = Configuration.GetSection(nameof(MyCustomSection));
services.Configure<MyCustomSection>(o => secto.Bind(o));
Интересно, возможно ли это сделать без объявления типа <MyCustomSection>
.
//This doesn't work, just trying to show you how I would like to do it
services.Configure(MyType, o => section.Bind(o));
Например, если я хочу связать инъекцию, я могу сделать это так:
services.AddTransient<IDateTime, SystemDateTime>();
Но я также могу сделать это динамически, например:
services.AddTransient(Type1, Type2));
Возможно ли то же самое?для services.Configure
?Я посмотрел на параметры метода, но он, кажется, не поддерживает его.Просто интересно, есть ли другой способ, или, может быть, я просто что-то упускаю?
РЕДАКТИРОВАТЬ:
services.AddSingleton(p =>
{
var type = new MySection();
Configuration.GetSection("MySection").Bind(type);
return type;
});
Затем я называю это в таком классе:
public class Test {
public Test(IOptions<MySection> section)
{
var finalValue = section.Value;
}
}
finalValue
всегда равно нулю;