как вернуть arraylist из функции? - PullRequest
2 голосов
/ 06 июня 2010

Я узнал пример из msdn для заполнения элемента управления списком с помощью arraylist. http://msdn.microsoft.com/en-us/library/1818w7we(v=VS.100).aspx

Я хочу создать функцию, которая будет возвращать массив USStates и использовать возвращенное значение в качестве источника данных для 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».

Ответы [ 2 ]

6 голосов
/ 06 июня 2010

Убедитесь, что тип возвращаемого значения функции правильный (просто ArrayList, а не ArrayList(). Первое означает, что вы возвращаете ArrayList, второе - что вы возвращаете массив из ArrayList

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
0 голосов
/ 06 июня 2010

Вам необходимо удалить скобки в конце определения вашей функции.

Public Shared Function FillList() as ArrayList
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...