Burg windsor: wie programmatisch eine Liste registrieren (statt mit einer Konfigurationsdatei)
-
27-09-2019 - |
Frage
Ich möchte ein Objekt mit einem Listenparameter registrieren, aber ohne Verwendung einer Konfigurationsdatei. dies ist die Konfigurationsdatei, die ich zur Zeit verwenden:
<?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>
Lösung
Sie können es tun, wie folgt:
using ESImportCommon.Email;
....
var container = new WindsorContainer(new XmlInterpreter());
container.AddFacility<FactorySupportFacility>();
container.Register(Component.For<IEmailParser>().ImplementedBy<EmailParser>());
Beachten Sie, dass Sie nicht brauchen, um eine Instanz von XmlInterpreter
an den Konstruktor übergeben, wenn Sie nicht wollen, jeder Konfiguration in Ihrem Web / app.config.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow