有没有更好的方式在温莎表达这种流利的注册?

时间:2010-11-21 13:34:40

标签: c# .net castle-windsor ioc-container

基本上我想要一种表达方式:查找所有具有基类AbstractDataService<>的类,并通过它们的接口解决它们而不是它们的基类。
我目前有这个并且它有效,但它不是很优雅:

container.Register(AllTypes.Pick()
   .FromAssembly(typeof(AbstractDataService<>).Assembly)
   .If(Component.IsInSameNamespaceAs(typeof(AbstractDataService<>)))
   .WithService.FirstInterface());

有可能吗?

2 个答案:

答案 0 :(得分:1)

也许你可以使用.BasedOn(...)?

答案 1 :(得分:0)

您可以创建中间变量。但是......我不确定真正的问题是什么。复杂的事情看起来很复这是现实。