我们正在更新代码以使用Autofac。我们希望使用自定义委托类型来定义工厂而不是Func。但我们也使用了一个重命名参数的混淆器。我们想告诉Autofac容器按类型而不是名称进行匹配,就像使用Func一样。这可能吗?
答案 0 :(得分:0)
在Autofac的官方文档中,您有此信息
默认情况下,Autofac会根据名称将委托的参数与构造函数的参数进行匹配。如果使用通用Func类型,Autofac将按类型切换到匹配参数。
http://docs.autofac.org/en/latest/advanced/delegate-factories.html
答案 1 :(得分:0)
您是否可以自定义混淆器以使用相同名称作为委托和构造函数的参数名称?
如上所述,现在的方法是使用Func。即使只使用委托工厂也是可能的,当有两个相同类型的参数时,Autofac将不知道该怎么做。 Here's我对一个非常相似的问题的回答。
答案 2 :(得分:0)
谢谢你们。我们最终使用Autofac的源代码作为指南创建了自定义注册源。在我们的测试中,如果有两个相同类型的参数,它似乎会回归到订单。