.net core .NET核心强类型配置属性的类型转换?

.net core .NET核心强类型配置属性的类型转换?,.net-core,dependency-injection,configuration,.net Core,Dependency Injection,Configuration,是否可以为强类型.NET核心配置对象的属性提供类型转换器 假设我有一个名为Foo的配置类型,其实例由IServiceCollection.Configure(…)声明Foo有一个类型为IEnumerable的属性,我想将其更改为IEnumerable,其中T是可以从字符串解析的类型。我是否可以提供类型转换器,以便IServiceCollection.Configure知道如何设置IEnumerable类型的属性 到目前为止,我的解决方案是使配置对象成为服务的构建器,而不是服务本身: servic

是否可以为强类型.NET核心配置对象的属性提供类型转换器

假设我有一个名为
Foo
的配置类型,其实例由
IServiceCollection.Configure(…)
声明
Foo
有一个类型为
IEnumerable
的属性,我想将其更改为
IEnumerable
,其中
T
是可以从字符串解析的类型。我是否可以提供类型转换器,以便
IServiceCollection.Configure
知道如何设置
IEnumerable
类型的属性

到目前为止,我的解决方案是使配置对象成为服务的构建器,而不是服务本身:

services.Configure<Foo.Builder>(context.Configuration.GetSection("..."));
services.AddSingleton(sp => sp.GetRequiredService<Foo.Builder>().Build());
services.Configure(context.Configuration.GetSection(“…”);
services.AddSingleton(sp=>sp.GetRequiredService().Build());