如果从NInject请求未绑定的对象,则默认行为(如果有合适的构造函数)似乎是创建适当对象的实例.
我想禁用这种行为(我有一个难以调试的问题,因为有些东西是自动绑定的,而不是在模块中拾取我的自定义绑定). 这个问题暗示这是可能的,但我无法从NInject wiki中找到答案.
Rem*_*oor 11
SelfBindingResolver创建后从内核组件中删除:
kernel.Components.RemoveAll<IMissingBindingResolver>();
kernel.Components.Add<IMissingBindingResolver, DefaultValueBindingResolver>();
Run Code Online (Sandbox Code Playgroud)
以下是更好,更直接的删除方法SelfBindingResolver,而不假设它DefaultValueBindingResolver是唯一的其他IMissingBindingResolver组件:
kernel.Components.Remove<IMissingBindingResolver, SelfBindingResolver>();
Run Code Online (Sandbox Code Playgroud)
这个Remove<T, TImplementation>()方法可能只是在Ninject的最新版本中添加,但这适用于我使用Ninject 3.2.2.0.
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |