使用IoC容器时如何处理原始类型?
即鉴于您有:
class Pinger {
private int timeout;
private string targetMachine;
public Pinger(int timeout, string targetMachine) {
this.timeout = timeout;
this.targetMachine = targetMachine;
}
public void CheckPing() {
...
}
}
您将如何获取int和string构造函数参数?
最佳答案
为此创建另一个接口。
然后您将得到类似:
public Pinger(IExtraConfiguration extraConfig)
{
timeout = extraconfig.TimeOut;
targetmachine = extraconfig.TargetMachine;
}
我不知道其他IOC容器,但是Castle Windsor会自动解析这些额外的构造函数参数。