2010-06-06 8 views
2

J'ai appris l'exemple de msdn pour remplir un contrôle de liste avec arraylist. http://msdn.microsoft.com/en-us/library/1818w7we(v=VS.100).aspxComment retourner arraylist à partir d'une fonction?

Je veux créer une fonction qui donnera revenir les USstates arraylist et utiliser la valeur retournée comme source de données pour 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 

J'ai essayé de créer une fonction comme:

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 

mais il indique erreur: La valeur du type 'System.Collections.ArrayList' ne peut pas être convertie en 'tableau 1Dimensional de System.Collections.ArrayList'.

Répondre

6

Assurez-vous que le type de retour de la fonction est correcte (simplement ArrayList, pas ArrayList() Le premier signifie que vous retournez un ArrayList, la seconde que vous retournez un tableau de 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 c'était une bonne explication de votre part :) – KoolKabin

0

Vous devez supprimer la parenthèse à la fin de la définition de votre fonction

Public Shared Function FillList() as ArrayList 
Questions connexes