我刚刚在MSDN杂志上阅读了Laurent的Messenger文章,尝试了几项测试,一切都按预期工作。
在"实施DialogService"部分,我注意到IDialogService的注册是通过调用SimpleIoc直接完成的。无论如何都要注册调用ServiceLocator的接口吗?
我认为使用ServiceLocator的重点是你可以将SimpleIoc换成另一个IOC吗?如果我的视图和viewmodel直接调用SimpleIoc,那就有点失败了。也许我不了解如何从ServiceLocator获取Ioc。
答案 0 :(得分:0)
Microsoft.Practices.ServiceLocation.IServiceLocator仅适用于“获取”方案。
这是因为每个IoC容器都有不同的功能,因此有多种方式可以执行注册:
例如,就像它在MVVM Light中使用一样,它也可以在一个非常不同的应用程序中使用:SharePoint!