2010-12-07 57 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方法来过滤序列并对这些项目执行操作。