Czy można wykonać rzutowanie w zapytaniu LINQ (dla samego kompilatora)?Wykonywanie rzutowania wewnątrz kwerendy LINQ
Poniższy kod nie jest straszna, ale byłoby miło, aby go w jednym zapytaniu:
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();
Kod kontynuuje się jeszcze kilka pytań, ale sens jest muszę utworzyć Wypisz z każdego zapytania, aby kompilator wiedział, że wszystkie obiekty w content.ChildControls
są typu TabSection
, a wszystkie obiekty w t.ChildControls
są typu Paragraph
... i tak dalej i tak dalej.
Czy istnieje sposób wewnątrz kwerendy LINQ, aby poinformować kompilator, że t
w from t in content.ChildControls
jest TabSection
?
To co OfType() jest za. –
Lucas