2010-03-31 71 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說:如果你必須相互依賴的類,這是一個很好的指標,該功能不應該按照現在的方式分成兩類。您應該嘗試將它們合併在一起,然後分離出真正的單向依賴關係。