6

我正在尋找一個IoC容器來使用我的Compact Framework應用程序。嘗試Funq我注意到,我無法找到一種方法來做它的屬性注入。Funq IoC容器是否支持屬性注入?

我已經瀏覽了關於該項目的網站和它的單元測試的討論,但我找不到任何屬性注入的例子。

Funq是否支持物業注入?

+3

我希望你能得到你的問題的答案,但在一個側面說明考慮使用構造函數注入。屬性注入意味着依賴項是可選的,這種情況很少。 – 2010-06-29 09:09:16

+0

感謝您的建議,一般我都同意。無論如何,我想知道我的選擇和限制。 – 2010-06-29 09:24:23

回答

3

那麼通常不會這樣?

myContainer.Register<IUserRepository>(() => 
    { 
     var myRepository = new SomeUserRepository(); 
     myRepository.SomeProperty = someValue; 

     return myRepository; 
    }); 
+0

在這種情況下'someValue'通常是來自容器的服務。你如何獲得這項服務? – 2010-06-30 08:50:38

+0

'myRepository.SomeProperty = myContainer.Resolve ();'? – herzmeister 2010-06-30 10:20:50

+0

Funq論壇上有答案。在Funq中,你實際上在提供者方法的參數中獲得容器,所以你可以這樣做: myContainer.Register ((c)=> new SomeUserRepository(){SomeProperty = c.Resolve ()}); – 2010-06-30 11:26:15