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