【发布时间】:2019-08-19 12:17:36
【问题描述】:
假设我有一个带有相应实现的 IConfigurationService 接口:
public class JsonConfigurationService : IConfigurationService
构造函数如下所示:
public JsonConfigurationService(string filePath, ILoggingService loggingService)
我想使用 Autofac 进行依赖注入,但我不确定如何处理 JsonConfigurationService 的构造函数参数。对于 ILoggingService 我已经添加了这样的注册 - 所以没有问题:
builder.RegisterType<NlogService>().As<ILoggingService>();
但是如何将filePath 参数提供给JsonConfigurationService 的构造函数。我已经阅读了诸如“NamedParameter”、“TypedParameter”或“ResolvedParameter”之类的选项,但对所有这些选项来说,仍然有一种不好的感觉。
- NamedParameter:如果有人在之后重命名参数怎么办
- TypedParameter:如果之后添加了另一个相同类型的参数
- ResolvedParamter:嗯,两者的混合
有没有更好的方法来处理这个问题或一种最佳实践?
【问题讨论】:
-
该值是编译时的常量吗?它是否在运行时解决,如果是,从哪里解决?
-
运行时解决
-
从哪里来的?....