кто вызывает конструктор с параметром (Castle.Windsor) - PullRequest
0 голосов
/ 21 января 2009

Я изучаю 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 ]

1 голос
/ 22 января 2009

Контейнер вызывает конструктор при создании запрошенного объекта. Вызываемый конструктор является конструктором с большинством аргументов, которые может удовлетворить контейнер.

0 голосов
/ 21 января 2009

Сам контейнер зависимостей создает объект (и, следовательно, вызывает конструктор).

...