2
假設我有一個組件,它目前在我的界面ICache
上有一個依賴項,並且使用構造函數注入在基於DB的Cache實現中註冊。事情是這樣的:在Castle Windsor註冊多個相同接口的實現
container.Register(Component.For<ICache>()
.ImplementedBy<DatabaseCache>()
.LifeStyle.Singleton
.Named("dbcache"));
,然後我的組件註冊它:
container.Register(Component.For<IRepository>()
.ImplementedBy<CoolRepository>()
.LifeStyle.Singleton
.Named("repo")
.DependsOn(Dependency.OnComponent(typeof(ICache), "dbcache")));
但如果我想我的組件,以便能夠利用不同類型的第二ICache
依賴於同時?我如何將2個不同的相同接口的實現注入到主要組件中?
很酷,謝謝你帕特里克,完美的工作,我正在尋找某種重載來做我想做的事,但我沒有檢查OnComponent()的重載。 – snappymcsnap