爲什麼我不能在Ninect中執行以下操作?將ninject的多個實現綁定到相同的接口
Kernel.Bind<IPresenter>.To<DefaultPresenter>();
Kernel.Bind<IPresenter>.To<DashboardPresenter>();
Kernel.Bind<IPresenter>.To<HeartRatePresenter>();
Kernel.Bind<IPresenter>.To<GPSPresenter>();
這4個實現中的每一個都有一個不同的構造函數,期望不同的類型。當我嘗試這個時,Ninject會拋出一個異常告訴我,我不能多次綁定到同一個接口。
在一類稱爲Presentable
所有主持人類繼承,我試圖做Kernel.Get<IPresenter>(new ConstructorArgument("view", this))
所以頁面/視圖中分配IPresentable Presenter
在頁面/視圖實現了演講者期望作爲參數的接口。
這是什麼方法使ninject識別不同的構造函數參數類型?
這個幫助頁面是shiznit!非常好 –
如果請求的類有一個屬性名稱綁定: '綁定()。()。When(request =>(((System.Reflection.PropertyInfo [])((System.Reflection (...)。(...)。(...)((request.Target.Member).ReflectedType))。DeclaredProperties)[0])。Name.Contains(「WhenHasSomePropertyName」));' 最好的用法? –
stom