當我處于特定方法的上下文中時,我試圖替換依賴項。所以我正在做這樣的事情:在我的 Ninject 模塊中,我的依賴項最初是這樣注冊的:Bind<IMyDependency>().To<OriginalType>();然后在我要替換依賴項的方法中,我正在使用重新綁定,如下所示:MyMethod(){ _kernel.Rebind<IMyDependency, ReplacementType>(); ... some logic ... _kernel.Rebind<IMyDependency, OriginalType>(); }但是,在第一次重新綁定后,當我嘗試解決“IMyDependency”時,我得到了 NullReference我錯過了什么?:)
1 回答

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
你確定你需要使用
_kernel.Rebind<IMyDependency, ReplacementType>();
代替
_kernel.Rebind<IMyDependency>().To(ReplacementType);
?
IBindingToSyntax<T1, T2> Rebind<T1, T2>();
方法用于重新綁定服務 T1 和 T2,而不是將 T1 解析為 T2。
- 1 回答
- 0 關注
- 222 瀏覽
添加回答
舉報
0/150
提交
取消