为什么我不能将IEnumerable <T>列表转换为BindingList <t>?

Ben*_*kes 6 c# ienumerable bindinglist

是否可以将IEnumerable列表转换为BindingList集合?

IEnumerable列表是类型化对象的列表,例如:

IEnumerable<AccountInfo> accounts = bll.GetAccounts(u.UserName, u.Password);
Run Code Online (Sandbox Code Playgroud)

而我的PagingList只是扩展了BindingList:

public class PagingList<T> 
{
    public BindingList<T> Collection { get; set; }
    public int Count { get; set; }

    public PagingList()
    {
        Collection = new BindingList<T>();
        Count = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

我只是想将我的IEnumerable列表传递给一个使用我的PagingControl呈现列表的方法:

 protected void RenderListingsRows(PagingList<AccountInfo> list)
   {
     foreach (var item in list)
     {
       //render stuff
     }
   }
Run Code Online (Sandbox Code Playgroud)

但似乎我不能在两者之间施展,任何人都可以指出我错过了什么?!

非常感谢

Luc*_*ero 3

BindingList<T>Implements IEnumerable<T>,但并非所有IEnumerable<T>都是绑定列表(事实上,大多数都不是)。

您应该能够创建一个新的 BindingList 并将项目添加到可枚举实例中。