处理从视图模型初始化接口的正确方法

时间:2015-08-18 00:07:35

标签: vb.net mvvm

在这里使用vb.net,但我确定C#适用

我有一个视图模型BaseViewModel,其中包含一个包含的子视图模型列表ChildViewModelChildViewModel映射回ChildClassBaseViewModel映射回BaseClass

所有这些类都受接口保护。

假设用户使用用户界面创建新的BaseViewModel,用户就会在其中添加2 ChildViewModels。当用户单击“保存”时,我可以循环浏览这些ChildViewModels并在每个UpdateModel上调用ChildClass,以便将属性映射回我的基类。但是,如果BaseClass上的ChildViewModels列表不足以容纳新UpdateModel,则会出现超出范围的异常。

BaseViewModel

Friend Sub UpdateModel(bc as BaseClass) For Each item in ListOfChildViewModels Dim updateMe = bc.ListOfChildClasses.FirstOrDefault(Function(r) r.Id = role.Id) If updateMe Is Nothing Or role.Id = 0 Then ''Add a new role Else item.UpdateModel(bc.ListOfChildClasses) Next End Sub
            // KitKat and higher require the extra step of importing to the cache then moving
            if (Util.hasKitkat())
            {
                File tmp = new File(getExternalCacheDir(), name);
                mMtpDevice.importFile(objectHandle, tmp.getPath());
                success = FileUtil.moveFile(CameraImportActivity.this, tmp, endFile);
            }
            else
            {
                success = mMtpDevice.importFile(objectHandle, endFile.getPath());
            }

谁可以解释我做错了什么以及如何在这里添加新角色

0 个答案:

没有答案