Не всегда можно привести любой тип коллекции в любую другую коллекцию. С точки зрения того, когда компилятор проверяет приведение, ознакомьтесь с этим постом по Время компиляции против выполнения
Тем не менее, вы можете легко получить BindingList
из перечислимого, выполнив некоторые сантехнические работы самостоятельно. Просто добавьте следующий метод расширения в любой тип Enumerable, чтобы преобразовать коллекцию в BindingList.
C #
static class ExtensionMethods
{
public static BindingList<T> ToBindingList<T>(this IEnumerable<T> range)
{
return new BindingList<T>(range.ToList());
}
}
//use like this:
var newBindingList = (from i in new[]{1,2,3,4} select i).ToBindingList();
VB
Module ExtensionMethods
<Extension()> _
Public Function ToBindingList(Of T)(ByVal range As IEnumerable(Of T)) As BindingList(Of T)
Return New BindingList(Of T)(range.ToList())
End Function
End Module
'use like this:
Dim newBindingList = (From i In {1, 2, 3, 4}).ToBindingList()