获取所有已注册的 IOptions

lan*_*gen 6 c# .net-core asp.net-core

有没有办法IOptions在运行时检索所有注册的?

我试图通过注入IServiceProvider然后执行以下操作来检索它们:

serviceProvider.GetServices(typeof(IOptions<>));
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为您无法获得开放类型的服务:

System.NotSupportedException:无法创建开放类型的数组。

有没有其他方法,或者我是否必须手动跟踪注册的 IOptions?