【发布时间】:2011-01-24 03:56:40
【问题描述】:
在 Autofac 中,可以在服务注册时指定一个 TypedParameter 来提供特定的值或委托,该值或委托将被传递到服务的构造函数中。构造函数上的实际参数将在解析/实例化期间按类型发现。
在 Ninject 中,我只能找到对命名参数的支持(即提前知道 .ctor 参数的实际名称)。否则,Ninject 将发现未指定的构造函数参数并尝试通过检查容器来解析所需的任何类型。
但是,这对我的需求来说不够具体,因为我有多个相同类型的实例,我需要将它们传递给不同服务实例的构造函数。
我想给 Ninject 一个特定的工厂委托或构造函数参数的值,只给定一个类型作为限定符,而不是参数名称。我也不希望通过使用任何属性装饰构造函数参数来依赖 Ninject。
这可能吗?非常感谢!
【问题讨论】:
-
次要点 - 如果 Ninject 具有 Autofac ResolvedParameter 的等价物(即提供我自己的委托的某种方式,它告诉 Ninject 在参数发现期间参数是否与我的过滤器匹配)这也将满足我的需要。谢谢!
标签: ioc-container ninject autofac