【发布时间】:2010-10-08 13:37:35
【问题描述】:
我有一个带有 ItemsSource 的 UserControl,它只允许对象,可以枚举(实现 IEnumerable)并且我可以在其中添加/删除项目。如何测试后者?
【问题讨论】:
-
您想测试您的列表是否可以添加/删除项目?
-
是的,到目前为止,Icollection 看起来不错。
我有一个带有 ItemsSource 的 UserControl,它只允许对象,可以枚举(实现 IEnumerable)并且我可以在其中添加/删除项目。如何测试后者?
【问题讨论】:
检查IsReadOnly 属性(通过转换为IList 或ICollection<T>)
【讨论】:
您可以检查对象是 ICollection(通用)或 IList(非通用)类型,并且它们的 IsReadOnly 属性未设置为 True
【讨论】:
IList 没有实现ICollection<T>。
检查 ICollection 接口的实现,而不是 IEnumerable。通常任何具有集合操作可能性的集合类都实现了这个接口,或者是一个子类。
【讨论】: