91手机视频在线-91手机视频在线观看-91手机在线-91手机在线播放-91手机在线观看

完善主體資料,免費贈送VIP會員!
* 主體類型
* 企業名稱
* 信用代碼
* 所在行業
* 企業規模
* 所在職位
* 姓名
* 所在行業
* 學歷
* 工作性質
請先選擇行業
您還可以選擇以下福利:
行業福利,領完即止!

下載app免費領取會員

NULL

ad.jpg

二次開發教程:C# 通過MVVMLight探索IOC

發布于:2019-07-25 15:19:58

網友投稿

更多

使用MVVMlight創建一個項目以后,MainViewModel的構造函數是這樣的:


        public MainViewModel(IDataService dataService)

        {

            _dataService = dataService;

            _dataService.GetData(

                (item, error) =>

                {

                    if (error != null)

                    {

                        // Report error here

                        return;

                    }

                    WelcomeTitle = item.Title;

                });

        }


它依賴于一個實現了IDataService 的類,但是在使用的時候,代碼確實這樣的:


        public MainViewModel Main

        {

            get

            {

                return ServiceLocator.Current.GetInstance<MainViewModel>();

            }

        }


如果我們按照一般邏輯來寫,應該是寫成這樣:


        public MainViewModel Main

        {

            get

            {

                IDataService service = new DataService();//這是一個實現了IDataService 的類

                return new MainViewModel(service);

                //return ServiceLocator.Current.GetInstance<MainViewModel>();

            }

        }


那這是怎么回事呢?


在使用這個ViewModel之前SimpleIoc.Default還做了兩件事:


SimpleIoc.Default.Register<IDataService, DataService>();//這個就應該是所謂的依賴注入,DataService是要創建MainViewModel需要的一個參數,一個依賴項


SimpleIoc.Default.Register<MainViewModel>();



而ServiceLocator.Current.GetInstance<MainViewModel>();


所做的是使用MainViewModel的 ConstructorInfo來創建(第一次Get的時候創建),而調用 ConstructorInfo的時候,我們會發現它需要一個參數,而這個參數的class


的構造函數是沒有參數的,應為我們之前做過Register操作,所以可以通過Register時候傳的接口和類,來找到這個類,并使用反射來創建一個對象供MainViewModel的


ConstructorInfo來使用,而創建好的MainViewModel會保存在SimpleIoc.Default里,下次使用就不必重新創建(這個應該是服務定位器模式)

本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。

未標題-1.jpg

上一篇:二次開發教程:MVVMLight的Messenger

下一篇:二次開發教程:C# udp小程序

主站蜘蛛池模板: 国产永久视频 | 国产综合成人亚洲区 | 白眉大侠320回在线收听 | 国产在线黄| 欧美日韩国产一区 | 夜色成人 | 黄色网址www| 亚洲综合专区 | 久久精品一区二区三区不卡牛牛 | 免费艹逼视频 | 国产高清精品自在久久 | 国产一区二区三区影院 | 丁香五月亚洲综合在线 | 亚洲国产一 | 日本一级大毛片a一 | 成 人色 网 站www | 久久99亚洲综合精品首页 | 天干天干夜天干天天爽 | 精品国产品欧美日产在线 | 成人午夜精品网站在线观看 | 韩国中文字幕在线观看 | 国产欧美日韩在线视频 | 色婷婷亚洲精品综合影院 | 91国视频| 男生j桶进女人p又色又爽又黄 | 香蕉黄色片 | 国产黄色三级 | 在线500福利视频国产 | 综合网在线视频 | 污视频免费网站 | 黄色自拍网站 | 亚洲免费精品视频 | 欧美成人精品手机在线观看 | 国产亚洲精品久久久久久午夜 | 日本高清一级做a爱过程免费视频 | 欧美日韩色综合网站 | 91成人免费在线视频 | 国产一区二区三区精品久久呦 | 欧美一级高清片在线 | 亚洲欧美一区在线 | 国产视频xxxx |