在C 事件處理中靈活應用泛型

2021-04-08 23:33:02 字數 923 閱讀 4226

在.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...