在使用泛型定義類的過程中遇到了不少問題,特記錄如下:
定義最基本的泛型類如下:
其實最簡單的只需要新增,就表示泛型類了,可在使用的過程中 pl.datalist = new list();總是提示錯誤,編譯不通過,說是必須是類才可以,於是修改如下
public abstract class getdatabase :ihttphandler, irequiressessionstate where t : class{1設定泛型基類或者要求
關鍵的一句where t : class就表示型別是類,當然如果需要t是其他型別,例如介面,或者是繼承與某個類,也是同樣的修改方法
例如泛型介面繼承於泛型介面iobjectwithkey,
[csharp]
public inte***ce ideviceagent : iobjectwithkey, idisposable{
public inte***ce ideviceagent : iobjectwithkey, idisposable{
例如泛型介面icontainer的第一型別tv必須繼承與介面iobjectwithkey
[csharp]
public inte***ce icontainer where tv:iobjectwithkey{
public inte***ce icontainer where tv:iobjectwithkey{
2泛型有多個型別
[csharp]
public inte***ce icontainer where tv:iobjectwithkey{
public inte***ce icontainer where tv:iobjectwithkey{就有多個型別,當然,在具體的類中,這兩種型別可以相同,也可以不同
其實也就是在一對<>中放置多個型別,有幾個型別,就放幾個引數,名稱沒有什麼特殊要求
3泛型如果有多個型別約束,例如都要求是類,如何處理
試了很多次,不知道如何定義,請知道的指點下
泛型類,泛型方法,泛型介面
泛型,就是一種不確定的資料型別。如果在類後面加上 這個類就變成了泛型類。這個 t可以使用任意的字母代替。表示定義了一種不確定的資料型別,這種不確定的資料型別必須在使用這個類 比如建立物件 的時候才能確定下來。如果希望縮小泛型的範圍,延後泛型的確定時間,讓泛型在呼叫方法的時候確定,那麼我們可以使用泛型...
泛型 泛型類的定義
泛型的定義與普通類定義相比,首先在類名後增加了由尖括號標識的型別變數,一般用t表示。t可以在泛型中的任何地方使用。對於泛化介面也是這樣定義。我們來看看普通類box以及box的泛型的 1 普通類box的定義 public class mybox public object get 2 box類的泛型定...
泛型 (2)泛型類 泛型方法 泛型介面
一 泛型類 定義person類 package cn.itcast.p2.bean public class person implements comparable public person string name,int age public int compareto person p ov...