值类型的依赖注入

Dependency Injection of Value Types

我正在创建一个 Azure Service Fabric 服务,并依靠本机 .NET 框架通过构造函数进行依赖注入。问题是:其中一个构造函数将值类型作为参数(具体为 System.TimeSpan)。 should/can 我如何向依赖注入框架注册这种类型?

澄清一下:我正在尝试按照此处显示的示例进行操作:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection#service-lifetimes-and-registration-options

如果可能,考虑添加一个像 IDurationProvider 这样的接口,它有一个 属性 类型 TimeSpan 并注册一个实现它的类型。这阐明了开发人员和使用意图。

如果你决定你真的需要这个,这会起作用:

 services.AddTransient(typeof(TimeSpan), _=> TimeSpan.FromSeconds(1D));
 var serviceProvider = services.BuildServiceProvider();
 var timespan = (TimeSpan)serviceProvider.GetRequiredService(typeof(TimeSpan));