使用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会自动解析这些额外的构造函数参数。

07-26 02:47