在特定方法的上下文中,我正在尝试替换依赖项。
所以我正在做这样的事情:
在我的Ninject模块中,我最初注册的依赖项是这样的:
Bind<IMyDependency>().To<OriginalType>();
然后在要替换其依赖项的方法中重新绑定,如下所示:
MyMethod()
{
_kernel.Rebind<IMyDependency, ReplacementType>();
... some logic ...
_kernel.Rebind<IMyDependency, OriginalType>();
}
但是,在第一次重新绑定后,当我尝试解决“ IMyDependency”时我得到了NullReference
我想念什么? :)
答案 0 :(得分:0)
确定要使用
_kernel.Rebind<IMyDependency, ReplacementType>();
代替
_kernel.Rebind<IMyDependency>().To(ReplacementType);
?
IBindingToSyntax<T1, T2> Rebind<T1, T2>();
方法用于重新绑定服务T1和T2,而不是将T1解析为T2。