我正在使用 White 框架自动化 Windows 应用程序。Application 是一类 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>();
到目前为止,它对我来说效果很好。
但经过几个步骤后,我需要获得另一个不同于第一个应用程序实例的应用程序实例。
如何使用 ServiceLocator 将 Application 的第二个实例绑定到内核?以及如何使用服务定位器获取第二个实例(因为两个实例具有相同的类型)?
提前感谢一百万的任何帮助。