【发布时间】:2012-01-18 01:08:12
【问题描述】:
我有三个班级,有共同的父母。假设父母是动物,孩子是狗,猫和鹦鹉。
我有一个可观察的集合,其中包含用户正在使用的动物集合。集合包含所有相同类型的动物 - 用户要么只与所有狗或所有猫或所有鹦鹉一起工作。
所以我声明了ObservableCollection<Animal>animals 并根据用户的选择我想将属性animals 的内容更改为ObservableCollection<Dog> 或ObservableCollection<Cat> 或ObservableCollection<PArrot>。因此,用户当前是否与狗或猫一起工作并不重要,但他可以选择动物的所有共同行为。
但它不起作用。我似乎无法将ObservableCollection<Cat> 分配给ObservableCollection<animal> 类型的属性。我认为它应该可以工作,因为动物是猫的超类型,所以我可以像往常一样将猫分配给动物变量。
为什么我不能这样做,我该如何解决这个问题?
【问题讨论】:
标签: c# .net collections observablecollection