pns*_*eld 5 dependency-injection ninject ioc-container
我正在使用NInject构建一个消息代理,我需要在容器中找到实现Consumes的所有实例,这个接口将该类标记为能够使用特定的消息类型.
这种情况是否受支持?
来自Nate的回答:
多分辨率(via
GetAll)目前不是多态的.这意味着它只会考虑您指定的确切接口的绑定.如果你这样做:Run Code Online (Sandbox Code Playgroud)kernel.Bind<IWorker>().To<WorkerA>(); kernel.Bind<IWorker>().To<WorkerB>(); kernel.Bind<IWorker>().To<WorkerC>();然后:
Run Code Online (Sandbox Code Playgroud)kernel.GetAll<IWorker>();它将返回3项.然而,即使
IWorkerA,IWorkerB和IWorkerC实施IWorker,Ninject不会看的绑定IWorkerA到WorkerA时候你问IWorker.
见:
http://groups.google.com/group/ninject/browse_thread/thread/7b6afa06099bc97a#
| 归档时间: |
|
| 查看次数: |
1115 次 |
| 最近记录: |