Можно ли выполнить листинг в запросе LINQ (для компилятора)?
Следующий код не страшен, но было бы неплохо сделать его одним запросом:
Content content = dataStore.RootControl as Controls.Content;
List<TabSection> tabList = (from t in content.ChildControls
select t).OfType<TabSection>().ToList();
List<Paragraph> paragraphList = (from t in tabList
from p in t.ChildControls
select p).OfType<Paragraph>().ToList();
List<Line> parentLineList = (from p in paragraphList
from pl in p.ChildControls
select pl).OfType<Line>().ToList();
Код продолжается с еще несколькими запросами, но суть в том, что мне нужно создать список из каждого запроса, чтобы компилятор знал, что все объекты в content.ChildControls
имеют тип TabSection
и все объекты в t.ChildControls
имеют тип Paragraph
... и т.д. и т.д.
Есть ли способ в запросе LINQ сообщить компилятору, что t
в from t in content.ChildControls
является TabSection
?