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