簡體   English   中英

unity injectionconstructor vs 注入工廠懶惰

[英]unity injectionconstructor vs injectionfactory laziness

我有這樣的注冊:

Container.RegisterType<SOMETYPE>(new ContainerControlledLifetimeManager(), new InjectionConstructor(Container.ResolveAll<ITYPE>())); <---

Container.ResolveAll<ITYPE>()會發生? 在注冊時還是第一次打電話時?

InjectionConstructorInjectionFactory之間有什么主要區別嗎?

Container.ResolveAll<ITYPE>()會發生? 在注冊時還是第一次打電話時?

在注冊時,即當您調用RegisterType並將InjectionConstructor傳遞給它時。 Container.ResolveAll<ITYPE>()InjectionConstructor初始化和RegisterType方法被調用之前被調用。

InjectionFactory接受一個工廠Func<IUnityContainer, object> ,它在從容器解析對象時初始化對象:

Container.RegisterType<SOMETYPE>(new ContainerControlledLifetimeManager(), new InjectionFactory(c => c.ResolveAll<ITYPE>()));

因此,使用InjectionConstructor ,在注冊時創建一個object (在本例中為ITYPE ),並使用InjectionFactory在注冊時創建Func<IUnityContainer, object> (在本例中實現為返回ITYPE )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM