寻找Ninject等效的StructureMap的ObjectFactory.GetInstance()方法

Joh*_*han 2 ninject

我在一个MVC项目中使用Ninject,我使用了Ninject.Mvc中的自动注册功能,并在我的应用程序类中设置了我的绑定.但是,我有一个地方,我想创建一个与这些绑定分开的实例.在StructureMap中,您可以这样做var foo = ObjectFactory.GetInstance<IFoo>();,它将为您解决它.在Ninject 2中是否有等价物?我似乎无法在任何地方找到它.

eld*_*rge 6

AFAIK,NInject没有这样的静态方法,因此所有解析都应该转到某个内核.

但你可以轻松实现它;

 class ObjectFactory
 {
     static IKernel kernel = new StandardKernel(.....);
     public static T GetInstance<T>()
     {
          return kernel.Get<T>();
     }
 }
Run Code Online (Sandbox Code Playgroud)

虽然,IMO,NInject作为DI容器比作为服务定位器更有用.