如何将第二个相同类型的实例绑定到内核并在Ninject中区分它们?

时间:2013-09-10 15:16:38

标签: kernel ninject bind

我正在使用White框架自动化Windows应用程序。应用程序是一类White框架。

在我的测试期间,我通过方法getApplication()获取一个Application实例,将其绑定到内核,放入serviceLocator并将此实例保持为Singleton:

IKernel kernel = new StandardKernel();
kernel.Bind<Application>().ToMethod(ctx => getApplication()).InSingletonScope();            
ServiceLocator.SetLocatorProvider(() => new NinjectServiceLocator(kernel));

每当我需要获取应用程序时,我都会使用以下代码:

Application application = ServiceLocator.Current.GetInstance<Application>();

到目前为止它对我来说很好。

但是经过几个步骤后,我需要得到另一个与第一个Application实例不同的Application实例。

如何使用ServiceLocator将第二个Application实例绑定到内核?以及如何使用服务定位器获取第二个实例(因为2个实例具有相同的类型)?

提前感谢一百万人提供任何帮助。

0 个答案:

没有答案