Forum: Object-Pascal / Delphi-Language
Delphi
by CarlAshnikov,
5. Jun 2015
Ich denke in diesem Fall sollte sich TColorPalette eine FactoryMethode (TFunc<IColor>) vom DI-Container injizieren lassen. Diese kannst du dann bei jedem AddColor aufrufen.
Ich denke Lazy stellt genau eine Instanz bereit. Da du aber mehrere brauchst um deine Liste zu füllen, benötigst du die Methode um sie mehrfach aufzurufen.
type
IColor = interface;
TColor =...
Forum: Object-Pascal / Delphi-Language
Delphi
by CarlAshnikov,
5. Jun 2015
Falls ich das richtig verstanden habe, ist dein Problem, dass du TColor in sich selbst injizieren willst.
Im Beispiel wird ein IExampleService in den THomeController injiziert und dieser dann aufgelöst. Der Container übergibt dann automatisch ein Lazy<IExampleService> in den constructor von THomeController wenn einer gebaut wird.
Angewendet auf dein Beispiel (nicht getestet):
type
...