Je travaille sur le remplacement de Unity par Ninject dans le framework Prism. Cela m'oblige à implémenter un IServiceLocator spécifique à Ninject. D'après ce que j'ai compris, je peux hériter de ServiceLocatorImplBase à la place, c'est ce que je fais. Maintenant, comment puis-je définir ceci comme Current ServiceLocator? J'ai besoin de cela pour avoir, par exemple, le RegionManager obtenir quand il crée des régions, et appelle:Comment définir mon implémentation IServiceLocator en tant que ServiceLocator.Current?
IServiceLocator locator = ServiceLocator.Current;
Ceci est une propriété statique, mais il ne dispose pas d'un setter .. Il y a une fonction:
void ServiceLocator.SetLocatorProvider(ServiceLocatorProvider newProvider);
..mais l'argument ne correspond pas à mon ServiceLocatorImplBase. Des idées?
Merci! Fonctionne parfaitement! – stiank81
Si vous voulez savoir quel est l'avantage de la méthode 'SetLocatorProvider' sur une méthode de réglage' Current', lisez cette discussion: http://commonservicelocator.codeplex.com/Thread/View.aspx?ThreadId=50463. – Steven