为了账号安全,请及时绑定邮箱和手机立即绑定

在 Ninject 中重新绑定后获取 NullReference

在 Ninject 中重新绑定后获取 NullReference

C#
慕勒3428872 2021-10-31 20:04:05
当我处于特定方法的上下文中时,我试图替换依赖项。所以我正在做这样的事情:在我的 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。


查看完整回答
反对 回复 2021-10-31
  • 1 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信