2010-06-06 2 views
2

msdn에서 arraylist를 사용하여 목록 상자 컨트롤을 채우는 예제를 배웠습니다. http://msdn.microsoft.com/en-us/library/1818w7we(v=VS.100).aspx함수에서 arraylist를 반환하는 방법은 무엇입니까?

내가 ArrayList를 USStates을 반환하고

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 

내가 같은 함수를 만드는 시도에 ListBox1에 대한 데이터 소스로 반환 된 값을 사용하여 제공하는 함수를 만들려면 :

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 차원 배열'로 변환 할 수 없습니다.

답변

6

함수의 반환 형식은 단순히 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

thnx oded 그것은 좋은 설명입니다. :) – KoolKabin

0

을 함수 정의 끝에서 괄호를 제거해야합니다.

Public Shared Function FillList() as ArrayList