Castello di Windsor: come registrare un elenco di codice (invece che con un file di configurazione)

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

Domanda

Vorrei registrare un oggetto con un parametro di lista, ma senza l'utilizzo di un file di configurazione. questo è il file di configurazione che attualmente utilizzo:

<?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>
È stato utile?

Soluzione

Si può fare in questo modo:

        using ESImportCommon.Email;

        ....

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

Si noti che non è necessario passare un'istanza di XmlInterpreter al costruttore, se non si vuole qualsiasi configurazione nel proprio web / app.config.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top