所以我有一個對象集合。對象是不同類型的,但所有類型都來自單個基類。我想遍歷集合,檢查特定派生類型的對象,併爲這些對象調用基類中的方法。這是我有:調用LINQ中某個類型的所有項目的方法
dim DogQuery = From Dog as DogBase in DogCollection
Where Dog.GetType = GetType(DogBeagle)
Select Dog
For Each d as DogBase in DogQuery
d.Feed()
Next
...但它似乎不雅。特別是當...
For Each Dog as DogBase in DogCollection
If Dog.GetType = GetType(DogBeagle) then
Dog.Feed()
End If
Next
...在(主觀上)更緊密的代碼中完成相同的事情。
我對即時執行的閱讀表明,我想要做的事情的唯一方法是讓LINQ返回一個單例或調用類似.ToList()的東西。有沒有辦法在不需要額外步驟的情況下立即執行?或者,這僅僅是LINQ對於手頭任務過度使用的一個例子嗎?
這是比我一直在尋找更好的。非常感謝你!我會盡快接受S/O讓我。 :) – DWRoelands 2014-10-12 13:59:35