château windsor: comment enregistrer une liste par programme (au lieu d'un fichier de configuration)

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

Question

Je voudrais enregistrer un objet avec un paramètre de liste, mais sans utiliser un fichier de configuration. c'est le fichier de configuration que j'utilise actuellement:

<?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>
Était-ce utile?

La solution

Vous pouvez le faire comme ceci:

        using ESImportCommon.Email;

        ....

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

Notez que vous n'avez pas besoin de passer une instance de XmlInterpreter au constructeur si vous ne voulez pas any dans votre configuration web / app.config.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top