2010-12-07 23 views
0

我宣佈一個IList上的對象一個IList和更新對象屬性的發現:如何實現對所發現

Dim OrigVendors as IList 
OrigVendors = new List(of IVendors) 

我填充OrigVendors變量,我想要做的是找到所有的具有我正在查找的ID的對象。然後,我需要更新該對象上的屬性,僅查找找到的屬性。這是否可以與IList或我需要使用其他類型的集合?我正在使用VB.net

回答

1

假設您正在區分non-Generic version of IList和通用List class,那麼您可以過濾特定屬性。

因爲IList接口不從推導Generic IEnumerable(而是在non-Generic version of IEnumerable),你不能使用許多對Enumerable class in the System.Linq namespace擴展方法。

但是,如果你知道非泛型IList實現包含 IVendors的實現,那麼你可以做的就是調用Cast extension method on IEnumerable像這樣:

Dim typedVendors = OrigVendors.Cast(of IVendors) 

一旦你的類型化IEnumerable(IVendors),您可以使用您選擇的任何LINQ方法來過濾序列並對這些項目執行操作。