Castle Windsor: Как зарегистрировать список программно (вместо этого в файл конфигурации)
-
27-09-2019 - |
Вопрос
Я хотел бы зарегистрировать объект со списком параметра, но без использования файла конфигурации. Это файл конфигурации, который я использую в настоящее время:
<?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.
Не связан с StackOverflow