Я пытаюсь создать рекурсивную функцию для возврата всех потомков элемента управления в IEnmerable(Of Control)
. Я создал функцию, возвращающую IEnumerable(Of Control)
и использовал Yield
:
Public Function GetControls(C As Control) As IEnumerable(Of Control)
For Each Child As Control In C.Controls
Yield Child
For Each GrandChild In GetControls(Child)
Yield GrandChild
Next
Next
End Function
Но у меня ошибка времени компиляции:
Ошибка BC30800, аргументы метода должны быть заключены в скобки.
Я пытался использовать его как функцию Yield(Child)
или Yield Return Child
или Return Yield Child
, но все еще с ошибкой.
Я не смог найти ничего, связанного с проблемой, выполнив поиск сообщения об ошибке в Google или Bing. Как я могу решить проблему?