【问题标题】:who calls the constructor witth parameter (Castle.Windsor)谁调用带有参数的构造函数(Castle.Windsor)
【发布时间】:2009-01-21 07:07:34
【问题描述】:

我正在按照在线教程学习 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 配置文件中。 我的问题是:谁在调用具有参数的构造函数:public Form1(Http....)? 在 program.cs 我有这个:

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

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

Application.Run(form1);

【问题讨论】:

  • 您应该更好地格式化您的问题代码。目前是一堆废话。 (我会自己做,如果我有代表的话......)

标签: castle-windsor


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    依赖容器本身创建对象(并因此调用构造函数)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-03
      • 2012-02-26
      相关资源
      最近更新 更多