No protože blbě vracíte výsledek. Hodnota funkce se ve VB.NET dá vrátit dvěma způsoby: 1. Přiřazení do názvu funkce
GetItems = array.ToArray()
Jakmile funkce doběhne na konec, použije se přiřazená hodnota jako výsledek. 2. Klíčové slovo Return
Return array.ToArray()
Tím se funkce ihned ukončí a vrátí daný výsledek. Vy máte chybu v tom, že jednak se používá buď Return, nebo přiřazení, ale ne obě dohromady. Když přiřazujete do názvu funkce, tak pozor - nechová se to jako proměnná, nemůžete přiřazenou hodnotu zase přečíst. Tím totiž tu funkci jednoduše zavoláte. Potíž je v tom, že když napíšete Return GetItems(), tak se funkce GetItems() zavolá znovu a její výsledek se teprve dosadí za to volání. A to je ten věčný cyklus, funkce se volají a volají pořád dál a dál. Správně je to tedy takhle:
...
Next
Return array.ToArray()
End Function
End Class
|