Castle Windsor: Как зарегистрировать список программно (вместо этого в файл конфигурации)

StackOverflow https://stackoverflow.com/questions/3864245

Вопрос

Я хотел бы зарегистрировать объект со списком параметра, но без использования файла конфигурации. Это файл конфигурации, который я использую в настоящее время:

<?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>
Это было полезно?

Решение

Вы можете сделать это так:

        using ESImportCommon.Email;

        ....

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

Обратите внимание, что вам не нужно проходить экземпляр XmlInterpreter к конструктору, если вы не хотите Любые Конфигурация в вашем Интернете / app.config.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top