2010-10-05 24 views
1

Je souhaite enregistrer un objet avec un paramètre de liste, mais sans utiliser de fichier de configuration. c'est le fichier de configuration que j'utilise actuellement:castle windsor: comment enregistrer une liste de manière systématique (à la place d'un fichier de configuration)

<?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> 

Merci,

Adam

+0

Où est la liste? Est-ce une liste de valeurs (par exemple, int) ou de services? –

Répondre

1

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 pour passer une instance de XmlInterpreter au constructeur si vous ne voulez pas toute configuration dans votre web/app.confi g.