三、實現一個泛型類
一種合理的實現某種新功能的方法是在 原有的事物上進一步構建。我們已經了解強類型集合,並知道一種不錯的用來構 建泛型類的技術是使用一個特定類並刪除數據類型。也就是說,讓我們定義一個 強類型集合CustomerList,並且來看一下它要把什麼東西轉化成一個泛型類。
列表2定義了一個類CustomerList。後面的部分把CustomerList轉化成 List<T>。
列表2定義類CustomerList:
using System;
using System.Collections;
using System.Text;
namespace Generics{
public class CustomerList : CollectionBase{
public CustomerList() { }
public Customer this[int index]{
get { return (Customer)List [index]; }
set { List[index] = value; }
}
public int Add(Customer value)
{return List.Add(value);}
}
}
四、定義類頭
如果我們定義一個泛型類, 我們需要把類頭轉化成一個泛型類。所有我們需要做的是命名參數並且把類名改 成某種泛型。List<T>只有一個參數T,並且因為我們在以一種向後兼容的 方式工作,所以我們知道類名是List。列表3顯示出列表2中類的新類頭。
列表3 一個泛型類頭顯示出參數化的參數T。
using System;
using System.Collections;
using System.Text;
namespace Generics{
public class List<T> : CollectionBase {}
五、實現泛型字段
如果我們需要把任何字段轉換成泛 型字段,我們將只需簡單地把它們的類型改變成T(或該字段所描述的任何參數) 。泛型List不需要任何字段,但是假定存在一個私有的整型字段叫foo-我們將把 它泛型化。我們將如下重新定義它:
private T foo;
當參數T被填充到類中時,List T也將因foo被填充。