如何在给定的类上实现依赖反转,如下面的代码?问题是类 A 中的函数“添加”,它包含新的关键字。
我正在使用 Autofac 进行依赖注入。
我应该创建一个在我的 Autofac 中注册的“IBFactory”,还是使用方法注入,或者完全是其他的东西?
public class A {
List<B> _list = new List<B>();
ILogger _logger;
public A(ILogger logger) { //Depency Injection using Autofac
_logger = logger;
}
public Add(object X) {
if (X is String)
_list.Add(new B1());
else
_list.Add(new B2());
}
}
public interface B {
}
public class B1 : B {
}
public class B2 : B {
}