是否有一种方法可以自动解析和启动一个自动启动的模块
本文关键字:启动 一个 自动启动 模块 一种 方法 是否 | 更新日期: 2023-09-27 18:10:13
我正在使用autofac IStartables加载配置,例如
public class MyConfig : IMyConfig, IStartable
{
public string configValue { get; private set; }
public void Start()
{
configValue = ... // Load from config file
}
}
然后在bootstrapper模块中,像这样注册:
builder.RegisterType<MyConfig>().As<IMyConfig>().As<IStartable>().SingleInstance();
当使用autofacc在构造器中解析配置时,这一切都工作得很好,但有时我想在bootstrapper模块本身使用一些配置值。我已经设法使它工作通过使用:
var config = new MyConfig();
config.Start();
// now we can use config.configValue
然而,这两步初始化似乎不是很干净-有一个更好的方法来做这件事与autoface ?
不需要调用Start()
。它将在构建容器时自动调用。这就是IStartable
的意义所在。