【发布时间】:2016-04-13 13:20:16
【问题描述】:
我一直在研究 Lauren Bugnion 的这篇关于 MVVM 轻量级 IOC 容器的博文,但有一件事让我很困惑。
这是博客文章的链接 MVVM light IOC containers blog
我不想引用整个事情,所以我只想包括我很难理解的sn-p。
public class ViewModelLocator
{
static ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
if (ViewModelBase.IsInDesignModeStatic)
{
SimpleIoc.Default.Register<IRssService, Design.DesignRssService>();
}
else
{
SimpleIoc.Default.Register<IRssService, RssService>();
}
SimpleIoc.Default.Register<INavigationService, NavigationService>();
SimpleIoc.Default.Register<MainViewModel>();
}
public MainViewModel Main
{
get
{
return ServiceLocator.Current.GetInstance<MainViewModel>();
}
}
}
现在我了解了静态构造函数和所有内容,但我无法理解
public MainViewModel Main
{
get
{
return ServiceLocator.Current.GetInstance<MainViewModel>();
}
}
这个功能甚至可以访问吗?如何?
谢谢! :)
【问题讨论】:
标签: mvvm xamarin inversion-of-control mvvm-light