2012-01-20 62 views
4

我有一個接口由兩個不同的類實現。那麼,我該如何對Ninject說,我想將它綁定到某個程序集中的實現A以及其他程序集中的實現B?Ninject:如何根據目標程序集綁定接口

+0

你相信什麼是提示你的狀態,有多個組件相關的因素,你如何看待這使得不同的「正常」使用? –

+1

這被稱爲「條件綁定」。谷歌,你會得到你的答案。 –

+1

問題很模糊。請舉個例子。你是在談論將該接口注入到生活在不同程序集中的類中? – Steven

回答

5

您可以使用contextual binding

Bind<IFoo>.To<Foo>.When(request => 
    request.Target.Type.Assembly.FullName == "someAssembly"); 
Bind<IFoo>.To<Bar>.When(request => 
    request.Target.Type.Assembly.FullName == "someOtherAssembly"); 
+0

工作就像一個魅力!謝謝! – Pato