我在MVC项目中使用Ninject,我已经用在Ninject.Mvc的自动注册功能,并绑定我成立了我的应用程序类。 但是,我有我想要创建一个从那些绑定独立实例的地方。 在StructureMap,可以执行var foo = ObjectFactory.GetInstance<IFoo>();
它会解决它。 是否有Ninject 2等效? 我似乎无法在任何地方找到它。
Answer 1:
据我所知,NInject没有这样使所有的解决应该去一些内核静态方法。
但是你可以很容易地实现它;
class ObjectFactory
{
static IKernel kernel = new StandardKernel(.....);
public static T GetInstance<T>()
{
return kernel.Get<T>();
}
}
虽然,国际海事组织,NInject是不是作为服务定位DI容器有用得多。
Answer 2:
您还可以使用公共服务定位为Ninject国际奥委会它提供了你想要的一个抽象层。 其优点是,可以在以后切换容器,如果它不适合你的需求了。
在你的代码,你可以使用这样的:
ServiceLocator.Current.GetInstance<Type>();
文章来源: Looking for Ninject equivalent of StructureMap's ObjectFactory.GetInstance() method