Ich verwende das Unity-Framework als IoC-Container.Unity - Factory via XML
Meine Config sieht einige wie folgt aus:
<unity>
<container>
<register type="Namespace1.IFoo, FooAsm"
mapTo="Namespace2.Bar, BarAsm">
</register>
</conainer>
Ich mag würde, einen Behälter registrieren eine Factory-Methode zu verwenden. Wie kann ich es mit der app.config erreichen?
Ich suche so etwas wie:
<unity>
<container>
<register type="Namespace1.IFoo, FooAsm"
factory="Namespace2.Bar, BarAsm"
method="create">
</register>
</conainer>
</unity>
Any suggestsions?
Wechseln Sie auf Code-basierte Konfiguration, ernsthaft. Wenn Sie können, sollten Sie den Container nicht über XML konfigurieren, da er spröde und fehleranfällig ist. Code-basierte Konfiguration ist viel flexibler und bietet Ihnen Unterstützung bei der Kompilierung. – Steven
Wie ist die Code-basierte Konfiguration flexibler? Entweder fügst du Reflektion hinzu oder du brauchst starke Referenzen. Beides ist nicht wirklich flexibel. – Jaster
Es ist flexibler, weil Sie beispielsweise Lambda-Ausdrücke registrieren können. Was nützt es, keine starke Referenz zu haben? Da Sie den Typ in Ihrem XML-Code angeben, haben Sie implizit immer noch einen Verweis auf den Typ, aber jetzt verlieren Sie die Überprüfung der Kompilierzeit. – Steven