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

问题描述 投票:1回答:1

我想用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>
list parameters castle-windsor castle
1个回答
1
投票

你可以这样做:

        using ESImportCommon.Email;

        ....

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

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

© www.soinside.com 2019 - 2024. All rights reserved.