我有一些组件实现了相同的接口,我想选择哪一个被注入到我的Repository
.
Component.For<IRepository>().ImplementedBy<Repository>().<whatShouldGoHere>()
我以为我可以使用它,DependsOn
但现在我看到它DependsOn
用于静态依赖项,例如字符串。是IHandlerSelector
唯一的出路吗?我宁愿声明与组件注册一致。也许是工厂方法?有什么建议吗?
编辑示例构造函数
public PersitentRepository(Func<ISession,string> sessionFactory)
挖掘了一下,我意识到委托是来自TypedFactoryFacility
. 似乎发生了一些变化,因此现在仅按类型解析。在较早的 Castle 版本中,字符串参数用于按名称选择组件。