是否可以轻松配置 autofac,以便它只能使用非过时的构造函数来解决?
例如,对于具有非 DI 代码的辅助构造函数的类,
public class Example {
public Example(MyService service) {
// ...
}
[Obsolete]
public Example() {
service = GetFromServiceLocator<MyService>();
// ...
}
}
// ....
var builder = new ContainerBuilder();
builder.RegisterType<Example>();
// no MyService defined.
var container = builder.Build();
// this should throw an exception
var example = container.Resolve<Example>();
如果我们没有注册 MyService,要求 autofac 解析 Example 应该会失败。