当我处于特定方法的上下文中时,我试图替换依赖项。所以我正在做这样的事情:在我的 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 关注
- 198 浏览
添加回答
举报
0/150
提交
取消