c# - Autofac 构造函数按属性注入(inject)

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

我有一个类,当前采用 IIndex 来选择索引依赖项。我想将其更改为以某种方式在构造函数参数上使用属性,以便直接指定要使用哪个属性。

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

PS:我见过this question但它变成了关于基于属性的注入(inject)的好处的讨论。 OTOH,我已经决定我不想手动注册每一种依赖于这一特定依赖项的类型,所以我更喜欢它。

最佳答案

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

关于c# - Autofac 构造函数按属性注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14293540/

相关文章:

c# - 如何使用 .net 核心默认服务容器注册特定接口(interface)的所有类

c - 如何防止链接器丢弃函数?

c# - 如何使用属性向 C# 类添加可见信息?

c# - 未处理的异常后终止应用程序

c# - 怎样做才能只得到一个列表?

javascript - 找出在 foreach 循环中按下了哪个按钮

android - 使用 Dagger 2 提供函数依赖

c# - 使用 Rhino Mocks 创建内存数据库以供开发代码和用户界面时使用

c# - 比较 2 个字符串数组元素并返回

java - 有没有办法多次迭代 HttpServletRequest.getAttributeNames() ?