小编nem*_*sis的帖子

在viewmodels中有viewmodels是不是很糟糕?

所以我查看了这篇文章以及其他一些讨论类似情况的帖子,但仍未找到解决我想解决的问题的最佳解决方案.

在我的mvvm应用程序中,每个视图都有一个viewmodel.我想让viewmodels尽可能平坦,但是当涉及到与可观察集合的绑定时,它似乎并不实用.例如,如果我有一个页面显示客户端的配置文件信息,其中一个字段是一组活动订阅的复选框.我会有一个看起来像这样的viewmodel:

public class ClientViewModel
{
    public class SubscriptionViewModel
    {
        public SubscriptionModel Subscription {get;set;}
        public bool IsChecked {get;set;}
    }

    public string Name {get;set;}
    public string Email {get;set;}
    ...
    public ObservableCollection<SubscriptionViewModel> Subscriptions {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

由于IsChecked不属于的额外属性SubscriptionModel,我必须创建一个单独的SubscriptionViewModel并将其嵌套在客户端中.什么是更好的替代方法来做到这一点,以便我不必最终在viewmodels内的视图模型?

wpf mvvm

6
推荐指数
1
解决办法
3026
查看次数

引用数组的方法

可能重复:
C:数组的地址如何等于它的值?

有人可以帮我解释阵列衰变吗?具体来说,我很困惑1)数组如何引用自身,2)当我定义时,它是真的吗?

int array[] = { 45, 67, 89 };
Run Code Online (Sandbox Code Playgroud)

那么数组,数组和&array [0]都引用这个数组?我发现它们在打印时看起来是相同的输出,但是它们在内存中也指的是完全相同的东西吗?

c++ pointers

1
推荐指数
1
解决办法
90
查看次数

有人可以帮助解释这个indexOf()实现是如何工作的吗?

这是一个简单的实现indexOf()LinkedListOracle的网站.我对这个if循环如何工作有点困惑:

public int indexOf(E e) {
    for (ListIterator<E> it = listIterator(); it.hasNext(); )
        if (e == null ? it.next() == null : e.equals(it.next()))
            return it.previousIndex();
    // Element not found
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

因此,ListIterator对象在列表的头部创建.for循环继续,直到迭代器到达列表的末尾,if循环检查是否找到目标对象.我不明白的部分是,为什么if循环检查it.next() == null何时e == null?当输入e为空时,有人可以帮助我了解它是如何完成的吗?

java linked-list

0
推荐指数
1
解决办法
310
查看次数

标签 统计

c++ ×1

java ×1

linked-list ×1

mvvm ×1

pointers ×1

wpf ×1