IList 接口 :添加数据绑定功能

IList 接口 表示可以按照索引单独访问的对象的非泛型集合。通过IList接口,我们可以把集合当作排好序的、可索引的数据项的集合。IList接口是数据绑定中最重要的接口之一,因为复杂数据绑定只能帮定到实现了IList接口的集合上。使用指向IList接口的引用,可以通过添加、删除、插入和访问数据项等操作来管理集合中的数据。在.NET 2.0中,我们没有必要自己去实现IList接口,因为List<T>泛型类型为任何希望包含在集合中的类型提供了完整的实现。IList接口成员如表1-1所示

名称

类型

说明

this[int index]

Object

这个索引器可以用来通过索引位置使用数组符号来访问集合,从而读取或设置集合众的对象,同时也可以当作Item属性

int Add(object item)

 

向集合中列表的末尾位置添加一个新项,并返回集合中这个新项的索引号

void Clear()

 

清空集合中的所有项目,删除所有包含对象的引用,让这些对象可以被垃圾收集机制处理

bool Contains(object item)

 

检查是否可以在集合中找到参数中传入的对象实例。如果能找到,则返回True,否则返回False

int IndexOf(object Item)

 

试图在集合中寻找在参数中传入的对象引用,如果这个对象在集合中,这个方法返回它在集合众的索引号。如果找不到,则返回-1

void Insert(int index,object Item)

 

通过将新项插入到集合的特定位置。

void Remove(object Item)

 

从集合众删除与传入对象引用匹配的项。

void RemoveAt(int index)

 

基于方法参数指定的索引从集合众删除这个项

表1-1

Example1-1

List<int> myCollection=new List<int>();

myCollection.Add(38);

myCollection.Add(40);

Debug.Assert(myCollection.IndexOf(38)==0);

for(int i=0;i<myCollection.Count;i++)

{

myCollection[i]=99;

}

foreach(int val in myCollection)

{

Console.Writeline(“Value={0}”,val);

}

IList 接口在数据绑定方面也是有局限的,比如说,数据集合在绑定控件之外被修改了,控件不会知道这些修改,它显示的数据就不会与集合中包含的实际数据同步。要克服这个缺点,就必须在要用作数据绑定的集合上实现IBindingList接口。我们可能还需要在数据项对象类型上实现INotifyPropertyChanged接口。

posted on 2008-03-10 10:46  shiboys  阅读(449)  评论(0编辑  收藏  举报