城堡温莎的ArrayResolver表现得很奇怪

时间:2010-08-10 08:22:47

标签: castle-windsor

我使用windsor和subresolver ArrayResolver,除了一件事之外还可以很好地工作。

这里ArrayResolver以它应该工作的方式工作。

class SomeClass : ISomeInterface
{
  public SomeClass(ISomeDependency[] dependecies)
  {}
}

这件事不起作用

ISomeDependency[] = container.Resolve<ISomeDependency[]>().Cast<ISomeDependency>().ToArray()

,这就是我要问的原因,为什么这里不涉及子解析器?

1 个答案:

答案 0 :(得分:1)

因为它是一个子依赖解析程序 - 它将解析您提取的组件的依赖关系,而不是组件本身。

用于该用途

container.ResolveAll<ISomeDependency>();