Autofac构造函数按属性注入

时间:2013-01-12 12:57:27

标签: c# dependency-injection attributes inversion-of-control autofac

我有一个当前需要IIndex的类才能选择索引依赖项。我想以某种方式使用构造函数参数的属性来更改它,以便直接指定要使用的属性。

我很确定Autofac本身并不支持这种做法,但我并不害怕为此编写自己的属性。我之前已经弄乱了Autofac的源端(自定义注册源等),但我从未见过一种定制注入方面的方法。有人可以帮忙吗?

P.S。:我见过this question,但它变成了关于基于属性的注射的好处的讨论。 OTOH,我已经决定我不想手动注册每个依赖于这个特定依赖关系的类型,所以我更喜欢它。

2 个答案:

答案 0 :(得分:2)

您可以通过扫描解析接口的类元数据来实现此目的。当您获得有关其参数的信息时,您可以解决该接口的实际实现。请参阅我的回答here

答案 1 :(得分:0)

我注意到http://code.google.com/p/autofac/wiki/WebFormsIntegration说我们可以通过实施IInjectionBehaviour来创建自定义依赖注入模型,我认为值得一试。