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

C#開發中的泛型學習實例(2)

編輯:關於C語言
#除可單獨聲明泛型類型(包括類與結構)外,也可在基類中包含泛型類型的聲明。但基類如果是泛型類,他的類型參數要麼已實例化,要麼來源子類(同樣是泛型類型)聲明的類型參數。

泛型類型的成員

class C
{
public V f1; //聲明字段
public D f2; //作為其他泛型類型 的參數
public C
{
this.f1 = x;
}
}

泛型類型的成員可以使用泛型類型聲明中的類型參數。但類型參數如果沒有任何約束,則只能在該類型上使用從System.Object繼承的共有成員。

泛型接口

interface IList
{
T[] GetElements();
}
interface IDictionary
{
void Add(K key,V value);
}
//泛型接口的類型參數要麼已實例化
//要麼來源於實現類聲明的類型參數
class List:IList,IDictionary
{
public T[] GetElements{}
{
return null;
}
public void Add(int index,T value){}
}

泛型委托

delegate bool Predicate(T value);
class X
{
static bool F(int i){...}
static bool G(string s){...}
static void Main()
{
Predicate p2 = G;
Predicate p1 = new Predicate(F);
}
}

泛型委托支持返回值和參數哂納感應用參數類型,這些參數類型同樣可以附帶合法的約束。

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