Поиск рекурсивного контроля с помощью LINQ
Если бы я хотел найти флажки на странице ASP.NET, я мог бы использовать следующий запрос LINQ.
var checkBoxes = this.Controls
.OfType<CheckBox>()
.TakeWhile<CheckBox>(cb => cb.Checked);
Это прекрасно работает, если флажки вложены в текущую коллекцию элементов управления, но я хотел бы знать, как расширить поиск, углубившись в наборы элементов управления элементов верхнего уровня.
Вопрос был задан здесь:
Поиск элементов управления, которые используют определенный интерфейс в ASP.NET
Получив ответы, не относящиеся к LINQ, у меня уже есть собственная версия рекурсивного поиска по типу и идентификатору в качестве методов расширения, но я просто удивился, насколько легко это сделать в LINQ?