定义集合
創(chuàng)建自己的、強類型化的集合。一種方式是手動執(zhí)行需要的方法,但這比較花時間,在某些情況下也非常復雜。我們可以從一個類中派生自己的集合,例如System.Collections.CollectionBase類,這個抽象類提供了集合類的許多實現(xiàn)方式。 CollectionBase類有接口 IEnumerable、ICollection和IList,但只提供了一些要求的執(zhí)行的代碼,特別是ILIST的Clear()和RemoveAt()的方法,以及ICollection的Count屬性。如果要使用提供的功能,就需要自己執(zhí)行其他代碼。 CollectionBase提供了兩個受保護的屬性,它們可以訪問存儲的對象本身,我們可以使用List和InnerList,List可以通過IList接口訪問項,InnerList則是用于存儲項的ArrayLIst對象。 代碼 public class Animal
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public Animal()
{
}
public Animal(string newName)
{
name = newName;
}
public override string ToString()
{
return name;
}
}
public class Animals : CollectionBase
{
public void Add(Animal newAnimal)
{
List.Add(newAnimal);
}
public void Remove(Animal oldAnimal)
{
List.Remove(oldAnimal);
}
public Animals()
{
}
} 其中,Add和Remove方法實現(xiàn)為強類型的方法,使用ILIST接口中用于訪問項的標準Add方法。 CollectionBase類可以對派生的集合使用foreach語法,以為他實現(xiàn)IEnumerable接口
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public Animal()
{
}
public Animal(string newName)
{
name = newName;
}
public override string ToString()
{
return name;
}
}
public class Animals : CollectionBase
{
public void Add(Animal newAnimal)
{
List.Add(newAnimal);
}
public void Remove(Animal oldAnimal)
{
List.Remove(oldAnimal);
}
public Animals()
{
}
} 其中,Add和Remove方法實現(xiàn)為強類型的方法,使用ILIST接口中用于訪問項的標準Add方法。 CollectionBase類可以對派生的集合使用foreach語法,以為他實現(xiàn)IEnumerable接口
總結(jié)
- 上一篇: 秒剪APP怎么换背景图(时间单位的换算)
- 下一篇: WP7 App性能优化(8):检测应用程