【问题标题】:Check if a List is of that type that it can ADD/Delete items?检查列表是否属于可以添加/删除项目的类型?
【发布时间】:2010-10-08 13:37:35
【问题描述】:

我有一个带有 ItemsSource 的 UserControl,它只允许对象,可以枚举(实现 IEnumerable)并且我可以在其中添加/删除项目。如何测试后者?

【问题讨论】:

  • 您想测试您的列表是否可以添加/删除项目?
  • 是的,到目前为止,Icollection 看起来不错。

标签: c# list add


【解决方案1】:

检查IsReadOnly 属性(通过转换为IList 或ICollection<T>)

【讨论】:

    【解决方案2】:

    您可以检查对象是 ICollection(通用)或 IList(非通用)类型,并且它们的 IsReadOnly 属性未设置为 True

    【讨论】:

    • 如果 IList 仍然实现了 ICollection,为什么还要检查它。为什么不直接检查它是否属于 ICollection 类型?
    • IList 没有实现ICollection<T>。
    【解决方案3】:

    检查 ICollection 接口的实现,而不是 IEnumerable。通常任何具有集合操作可能性的集合类都实现了这个接口,或者是一个子类。

    【讨论】:

      猜你喜欢
      • 2020-06-02
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      相关资源
      最近更新 更多