在.net 1.1中處理事件時很麻煩的事情。比如建立下面這個類:
[serializable]
public class logentry
set
}string message;
///
/// 事件內容
///
public string message
set }}
等你需要把logentry當成引數傳遞時,就需要建立兩個新的型別logentryargs和logentryeventhandler.分別定義如下:
public class logentryargs:eventargs
public logentry entry}}
public delegate void logentryeventhandler(object sender, logentryargs e);
如果系統中引數比較多,這種重複勞動工作量就很多,導致系統的型別增加。我們可以使用.net 2.0 中的泛型克服這個問題。
1. 首先為引數定義乙個公用的泛型型別:
public class teventargs:eventargs
t param;
public t param}}
2. 然後就可以使用框架自帶的eventhandler<>類建立事件:
public event eventhandler> logwritten;
3.使用的方法如下:
eventhandler> temp = logwritten;
if (temp != null)
##例子的完整**如下:
public class logmanagerimp
}public event eventhandler> logwritten;
#endregion
}
在C 事件處理中靈活應用泛型
在.net 1.1中處理事件時很麻煩的事情。比如建立下面這個類 serializable public class logentry set string message 事件內容 public string message set 等你需要把logentry當成引數傳遞時,就需要建立兩個新的型別l...
泛型在C 中的應用
泛型在c 中的主要實現為模板函式和模板類。通常使用普通的函式實現乙個與資料型別有關的演算法是很繁瑣的,比如兩個數的加法,要 考慮很多態別 int add int a,int b float add float a,float b 雖然在c 中可以通過函式過載來解決這個問題,但是反覆寫相同演算法的函式...
C 中泛型類,泛型方法,泛型約束實際應用
所謂泛型,即通過引數化型別來實現在同乙份 上操作多種資料型別。泛型程式設計是一種程式設計正規化,它利用 引數化型別 將型別抽象化,從而實現更為靈活的復用。在定義泛型類時,在對客戶端 能夠在例項化類時,可以用型別引數的型別種類施加限制。在搭建底層框架時,是最常見的程式設計方式。泛型類範例 namesp...