我正在尝试使用ArrayList,并将其绑定到BindingList ...
如果我尝试将其放入(我有Option Strict On),我会得到一个关于我实施的投射的建议 -
然而,无论我尝试什么,我都会遇到运行时错误。
Unable to cast object of type 'ArrayList' to type 'IList`
代码:
Dim myBoundList As System.ComponentModel.BindingList(Of something) =
New System.ComponentModel.BindingList(Of something)
(CType(myArrayList, System.Collections.Generic.IList(Of something)))
我试图插入.ToArray ......
链接https://stackoverflow.com/a/8770832/1217150上接受的答案完全相同(即使意图相反),我已经尝试过了......(我的意思是,创建一个IList项目,然后分配
IList iList = new ArrayList();
它给了我同样的错误......
我正在使用VB.NET,但c#也会有所帮助。请帮忙。谢谢。
答案 0 :(得分:1)
您应该使用通用List
类(.NET类型)而不是使用非通用ArrayList
来检出。我怀疑这可能与你的问题有关。它可能会尝试将非通用ArrayList
转换为IList<T>
(IList的通用版本)。
答案 1 :(得分:0)
如果您尝试将数组列表作为项添加到列表框中,则可以使用以下代码:
private void Form1_Load(object sender, EventArgs e)
{
// Create a new array list.
ArrayList list = new ArrayList();
// Add items to the array list
list.Add("MyItem1");
list.Add("MyItem2");
list.Add("MyItem3");
//Set the data source of the listbox as the array list
listBox1.DataSource = list;
}