仅当注入IFactory.Create()方法时才绑定Ninject
我有一个从仅当注入IFactory.Create()方法时才绑定Ninject,ninject,ninject-extensions,Ninject,Ninject Extensions,我有一个从IFoo派生的Foo类,然后是一个IFooFactory,通过以下方法设置: 我随后将其调用foodfactory.Create()on。不幸的是,Ninject对绑定不满意,并抛出“没有匹配的绑定可用…”异常 当我有一个Foo(string-str)构造函数时,我也遇到了同样的问题,它的字符串依赖关系通过IFooFactory.Create(string-str)传递给工厂方法。我看起来你把IFoo绑定错了。你必须做到: Bind<IFoo>().To<Foo>
IFoo
派生的Foo
类,然后是一个IFooFactory
,通过以下方法设置:
我随后将其调用foodfactory.Create()
on。不幸的是,Ninject对绑定不满意,并抛出“没有匹配的绑定可用…”异常
当我有一个
Foo(string-str)
构造函数时,我也遇到了同样的问题,它的字符串依赖关系通过IFooFactory.Create(string-str)
传递给工厂方法。我看起来你把IFoo绑定错了。你必须做到:
Bind<IFoo>().To<Foo>();
工厂扩展有一个约定,即如果工厂方法如下所示:
public interface IFooFactory
{
IFoo GetFoo();
}
解析绑定时,它将使用“Get”后面的名称。在这个例子中,是“Foo”。我看你把IFoo绑定错了。你必须做到:
Bind<IFoo>().To<Foo>();
工厂扩展有一个约定,即如果工厂方法如下所示:
public interface IFooFactory
{
IFoo GetFoo();
}
解析绑定时,它将使用“Get”后面的名称。在本例中为“Foo”
public interface IFooFactory
{
IFoo GetFoo();
}