Übergeben von Konstruktorargumenten bei Verwendung von StructureMap
Ich bin mit StructureMap für meinen DI. Vorstellen, ich habe eine Klasse, die nimmt 1 argument wie:
public class ProductProvider : IProductProvider
{
public ProductProvider(string connectionString)
{
....
}
}
Brauche ich die Angabe des "connectionString zur Laufzeitwenn ich eine Instanz von IProductProvider.
Habe ich konfiguriert StructureMap wie folgt:
ForRequestedType<IProductProvider>.TheDefault.Is.OfConcreteType<ProductProvider>().
WithCtorArgument("connectionString");
Jedoch möchte ich nicht nennen, EqualTo("etwas...") Methode, die hier, wie ich brauchen einige Anlage dynamisch geben Sie diesen Wert zur Laufzeit.
Meine Frage ist: wie kann ich eine Instanz von IProductProvider durch die Verwendung von ObjectFactory?
Derzeit, ich habe so etwas wie:
ObjectFactory.GetInstance<IProductProvider>();
Aber wie Sie wissen, das funktioniert nicht...
Jede Beratung würde sehr geschätzt werden.
InformationsquelleAutor der Frage Mosh | 2010-05-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schlage ich vor, die erklärt, dass mit dem StructureMap Konfiguration. Mit den etwas neueren StructureMap-code:
Diese Weise müssen Sie nicht belasten Sie Ihren client-code aus, die zu schätzen wissen, und können Ihre IoC-Konfiguration getrennt von Ihrem Haupt-code.
InformationsquelleAutor der Antwort Michael Hedgpeth
Fand ich die Antwort selbst! Hier ist die Lösung:
Hoffe, das hilft anderen, die über das gleiche Problem.
InformationsquelleAutor der Antwort Mosh