仅当注入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();
}