castle windsor:如何以编程方式注册列表(而不是配置文件)

时间:2010-10-05 13:50:00

标签: list parameters castle-windsor castle

我想使用list参数注册一个对象,但不使用配置文件。 这是我目前使用的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<castle>
  <components>
    <component id="EmailParser"
     service="ESImportCommon.Email.IEmailParser, ESImportCommon"
     type="ESImportCommon.Email.EmailParser, ESImportCommon">
    </component>
  </components>
</castle>

1 个答案:

答案 0 :(得分:1)

你可以这样做:

        using ESImportCommon.Email;

        ....

        var container = new WindsorContainer(new XmlInterpreter()); 
        container.AddFacility<FactorySupportFacility>();
        container.Register(Component.For<IEmailParser>().ImplementedBy<EmailParser>());

请注意,如果您不希望在web / app.config中配置任何配置,则无需将XmlInterpreter的实例传递给构造函数。