我有一个Foo
类,从IFoo
派生,然后一个IFooFactory
绑定,我通过Ninject Factory Extensions方法设置:Ninject只有当注入IFactory.Create()方法
Bind<IFooFactory>().ToFactory()
然后我要确保任何调用者类通过IFooFactory.Create()
获取IFoo
实例,而不是在构造函数中请求IFoo
。
我试图创建一个像这样绑定:
Bind<IFoo>.To<Foo>
.WhenInjectedInto<IFooFactory>();
然后我再打fooFactory.Create()
上。不幸的是,Ninject对绑定不满意,并抛出一个“No matching bindings are available ..”异常。
当我有一个Foo(string str)
构造函数的字符串依赖关系通过IFooFactory.Create(string str)
传递给工厂方法时,我也遇到了同样的问题。