2010-03-31 40 views
0

我有构造函数的类是这样的:温莎依赖

public UserRepository(IBlockRepository blockRepos) 
{ 
} 

,并再次,我有构造这样的另一个类:

public BlockRepository(IUserRepository userRepo) 
{ 
} 

这将导致温莎错误:

Castle.MicroKernel.Handlers.HandlerException: Can't create component 'UserRepository' as it has dependencies to be satisfied. UserRepository is waiting for the following dependencies

我该如何解决这个问题?

+0

你正在使用哪个版本?这不是温莎应该抛出这种情况的例外...... – 2010-03-31 15:34:10

回答

9

这里有一个循环依赖关系。可以这么说鸡和鸡蛋的问题。这是一个与温莎无关的设计问题。打破你的代码中的循环,温莎将能够建立你的对象就好了

1

除了什么Krzysztof说:如果你必须相互依赖的类,这是一个很好的指标,该功能不应该按照现在的方式分成两类。您应该尝试将它们合并在一起,然后分离出真正的单向依赖关系。