程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C# 2.0泛型類的創建和使用(2)

C# 2.0泛型類的創建和使用(2)

編輯:關於C語言

三、實現一個泛型類

一種合理的實現某種新功能的方法是在 原有的事物上進一步構建。我們已經了解強類型集合,並知道一種不錯的用來構 建泛型類的技術是使用一個特定類並刪除數據類型。也就是說,讓我們定義一個 強類型集合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被填充。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved