我从msdn学习了一个例子,用arraylist填充一个列表框控件。 http://msdn.microsoft.com/en-us/library/1818w7we(v=VS.100).aspx
我想创建一个函数,它将返回USStates arraylist并使用返回的值作为listbox1的数据源
Dim USStates As New ArrayList()
USStates.Add(New USState("Alabama", "AL"))
USStates.Add(New USState("Washington", "WA"))
USStates.Add(New USState("West Virginia", "WV"))
USStates.Add(New USState("Wisconsin", "WI"))
USStates.Add(New USState("Wyoming", "WY"))
ListBox1.DataSource = USStates
ListBox1.DisplayMember = "LongName"
ListBox1.ValueMember = "ShortName
我尝试创建一个类似的函数:
Public Shared Function FillList() As ArrayList()
Dim USStates As New ArrayList()
USStates.Add(New USState("Alabama", "AL"))
USStates.Add(New USState("Washington", "WA"))
USStates.Add(New USState("West Virginia", "WV"))
USStates.Add(New USState("Wisconsin", "WI"))
USStates.Add(New USState("Wyoming", "WY"))
return usstates
end function
但它说错误: “System.Collections.ArrayList”类型的值无法转换为“System.Collections.ArrayList的1维数组”。
答案 0 :(得分:6)
确保函数的返回类型正确(仅ArrayList
,而不是ArrayList()
。第一个意味着您返回ArrayList
,第二个意味着您返回 {<1}}的数组:
ArrayList
答案 1 :(得分:0)
您需要从函数定义的末尾删除括号。
Public Shared Function FillList() as ArrayList