泛型相當於c++的模板
泛型方法
static
void fly(t i,k t)
泛型委託
delegate
void
mydelegate
(t1 t1,t2 t2);
.net中的func<>泛型
eventhandler 委託事件
泛型約束
• 約束父類或者介面:aaawhere t:idbconnection
class
personlist
where t : person }
class
person }
class
chinese:person }
•
• 約束建構函式:aaa where t:new(), aaawhere t:new()。
• 泛型建立乙個返回n個物件的方法。
• 泛型建立乙個對任意資料進行取最大元素的方法
如:這能夠約束泛型的型別:對泛型委託和泛型類都一樣的
static
list
createlist(int n) where t : new()//只能是無引數的建構函式
returnlist;}
int?其實就是泛型的型別nullable(通過reflector 反編譯)
lazy<>懶做的物件,作用是當用到這物件時才建立物件
lazy
person = new
lazy
();fly("aa",3);
stringss= person.value.name;
//lazy
的value
用來延遲建立物件
,以減少記憶體
自己寫乙個
lazy
class
mylazy
where t : new()
returninstance;}}
} 欄位是物件被new出來了以後
default(t)
泛型,內部類
對於泛型,不要求怎麼使用,要求看原始碼時能看懂就行。泛型的意義 1,自動進行型別的檢查 2,自動進行型別的轉換 泛型的一些重點 1,泛型時怎麼編譯的?擦除機制 object 2,泛型的型別 不參與型別的組成 3,泛型的引數不能是簡單型別 看乙個簡單的泛型示例 class myarraylist pu...
內部類和泛型
內部類就是在類中的類。在原始碼中經常看到,但是原始碼中常見的都是靜態內部類,最常見的型別就是資料型別a.資料型別b,也就是a.b 這種型別。1 threadlocal.threadlocalmap 2 map中的各種靜態結構等等 3 獲取得到單例物件在以前學習j a的時候,我們通常喜歡在乙個類外面定...
C 泛型應用及原理
泛型 generic 是c 語言2.0和通用語言執行時 clr 的乙個新特性。泛型為.net框架引入了型別引數 type parameters 的概念。型別引數使得設計類和方法時,不必指定方法有乙個或多個具體引數,而是在呼叫方法的時候再去指定。這意味著使用泛型的型別引數t,寫乙個方法mylist,客...