I eine Klasse mit Faltenbalg Konstruktor:Windsor registrieren Singleton-Komponente und lösen durch Konstruktorparameter vorbei
Foo(FooType type)
die FooType
ist ein Enum. Ich registrieren diese Klasse wie folgt aus:
container.Register(
Component.For<IFoo>()
.ImplementedBy<Foo>()
.LifestyleSingleton())
ich zwei Instanzen dieser Klasse mit Differenz FooType
haben müssen. Ich nehme ich vor, diese Art wie unten:
IFoo foo1 = container.Resolve<IFoo>(new { type = FooType.Type1 });
IFoo foo2 = container.Resolve<IFoo>(new { type = FooType.Type2 });
Ist foo1
und foo2
gleiche Objekte?
Antwort ist Ja, Also, wie kann ich Foo
als Singleton registrieren und zwei Instanz es mit der Differenz FooType
lösen?
Sie können nicht zwei Singleton Instanzen der gleichen Klasse haben ... – meJustAndrew
@Fred in Erwägung ziehen, Ihre eigene Lösung in einer Antwort zu veröffentlichen, damit andere sie einfacher finden können und dieser Thread wird geschlossen. – Iqon
@Iqon OK, ich habe meine Lösung als Antwort veröffentlicht. – Fred