我有一个像这样的构造函数的类:
public UserRepository(IBlockRepository blockRepos)
{
}
再次,我有另一个类,其构造函数如下:
public BlockRepository(IUserRepository userRepo)
{
}
这会导致温莎错误:
Castle.MicroKernel.Handlers.HandlerException:无法创建组件'UserRepository',因为它具有要满足的依赖项。 UserRepository正在等待以下依赖项
我该如何解决这个问题?
答案 0 :(得分:9)
这里有循环依赖。鸡肉和鸡蛋问题可以这么说。这是一个与温莎无关的设计问题。打破代码中的循环,Windsor将能够很好地构建您的对象
答案 1 :(得分:1)
除了Krzysztof所说的内容之外:如果你必须依赖彼此的类,这是一个很好的指标,表明功能不应该像现在这样分成这两个类。您应该尝试将它们合并在一起,然后拆分出真正的单向依赖关系。