谁用参数调用构造函数(Castle.Windsor)

时间:2009-01-21 07:07:34

标签: castle-windsor

我正在学习castle.windsor在线教程。这是简单的示例代码:

public class Form1 {
    private readonly HttpServiceWatcher serviceWatcher;
    private System.ComponentModel.Container components = null;

public Form1()
{
    InitializeComponent();
}

public Form1(HttpServiceWatcher serviceWatcher) : this()
{
    this.serviceWatcher = serviceWatcher;
}
}

HttpServiceWatcher位于xml conf文件中。  我的问题是:谁在调用具有参数public Form1(Http....)的构造函数? 在program.cs我有这个:

container.AddComponent("form.component",typeof(Form1));

Form1 form1 = (Form1) container["form.component"];

Application.Run(form1);

2 个答案:

答案 0 :(得分:1)

容器在创建请求的对象时调用构造函数。被调用的构造函数是具有容器可以满足的最多参数的构造函数。

答案 1 :(得分:0)

依赖容器本身创建对象(从而调用构造函数)。