【问题标题】:how to convert array to BindingList如何将数组转换为 BindingList
【发布时间】:2011-07-05 07:46:20
【问题描述】:

将数组转换为 BindingList 的最简单、最快的方法是什么?

【问题讨论】:

    标签: c# type-conversion bindinglist


    【解决方案1】:

    您正在寻找constructor

    var bl = new BindingList<YourClass>(arr);
    

    【讨论】:

    • 没看懂,能举个例子吗?
    【解决方案2】:

    你可以试试 foreach 循环:

        public void AppenFromArray(T[] aSource)
        {
            if (aSource == null) { return; }
    
            foreach (T el in aSource)
            {
                this.Add(el);
            }
        }
    

    【讨论】:

      【解决方案3】:

      使用采用IList&lt;T&gt;BindingList 构造函数。

      var binding = new BindingList<MyType>(myArray);
      

      【讨论】:

        【解决方案4】:

        在使用带有 Array 的 BindingList(IList ..) 构造函数时要小心,因为 IList 将是只读的。

        因此,任何从 BindingList 添加/删除的尝试都会引发 NotSupportedException,因为 IList 无法处理该功能,因为 Collection 是只读的。

        要创建可编辑的 BindingList,您必须在使用 IList 构造函数之前将其转换为列表。

        关于为什么数组是从 IList 构建的一个很好的描述可以在这里找到一些额外的阅读: Why array implements IList?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-12
          • 2019-05-31
          • 2021-01-16
          • 2014-09-04
          相关资源
          最近更新 更多