MvvMlight 学习之 SimpleIoc


 1 SimpleIoc 是一个简单依赖注入容器;
 2 
 3 例:Mainviewmodel需要使用一个服务或类,假设我需要的person类
 4 
 5 首先将实现的服务注册到SimpleIOC,
 6 SimpleIoc.Default.Register<Person>(()=>new Person());
 7 然后把Mainviewmodel也注册到SimpleIOC,
 8 SimpleIoc.Default.Register<MainViewModel>();
 9 
10 
11 你可以通过ServiceLocator.Current.GetInstance<MainViewModel>();来获取一个Mainviewmodel的实例,
并且根据Mainviewmodel的构造参数在SimpleIOC中寻找匹配的对象,然后就可以使用了;
12 13 public class ViewModelLocator 14 { 15 static ViewModelLocator() 16 { 17 ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);//设置默认的SimpleIOC 18 SimpleIoc.Default.Register<Person>(()=>new Person());//将自己的类注册到SimpleIOC 19 20 SimpleIoc.Default.Register<MainViewModel>();//把Mainviewmodel也注册到SimpleIOC 21 } 22 public MainViewModel Main 23 { 24 get 25 { 26 return ServiceLocator.Current.GetInstance<MainViewModel>();//获取Mainviewmodel的实例 27 } 28 } 29 } 30 31 32 public MainViewModel(Person data)///Mainviewmodel的构造参数,匹配Person类 33 { 34 WelcomeTitle =data.Name; 35 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM