委託(c#程式設計指南),這麼定義:委託
是一種定義方法簽名的型別,可以與具有相容簽名的任何方法關聯。您可以通過委託呼叫方法。委託用於將方法作為引數傳遞給其他方法。事件處理程式就是通過委託呼叫的方法。您可以建立乙個自定義方法,當發生特定事件時某個類(例如
windows
控制項)就可以呼叫您的方法。下面的示例演示了乙個委託宣告:
public
delegate
void
greetingdelegate
(string
name);
與委託的簽名(由返回型別和引數組成)匹配的任何可訪問類或結構中的任何方法都可以分配給該委託。方法可以是靜態方法,也可以是例項方法。這樣就可以通過程式設計方式來更改方法呼叫,還可以向現有類中插入新**。只要知道委託的簽名,就可以分配您自己的方法。
源**例子:
說明:
在方法過載的上下文中,方法的簽名不包括返回值。但在委託的上下文中,簽名的確包括返回值。換句話說,方法和委託必須具有相同的返回值。對應上例的源**就是public
delegate
void
greetingdelegate
(string
name)要與private
static
void
englishgreeting(
string
name)和private
static
void
chinesegreeting(
string
name)具有相同的返回值,而不與private
static
void
greetpeople(
string
name,
greetingdelegate
makegreeting)相關。
簡單委託事件
public delegate void titlehander 宣告乙個委託 public event titlehander tilename 宣告乙個事件,事件型別是委託 user u1 new user 類例項化物件 u1.tilename new user.titlehander chan...
C 委託 事件 學習
1.委託delegate 委託delegate也是一種型別,在任何可以宣告類的地方都可以宣告委託,它將方法當做另乙個方法的引數進行傳遞,這樣就可以傳遞不同的方法,完成不同的功能,使程式具有很好的可擴充套件性。舉例 假設這裡有一台電腦,有人會用它寫程式,有人會用它打遊戲,有人會用它看電影,有人會用它邊...
C 委託事件簡單示例
使用c 語言進行編寫 設計乙個戰士物件基礎防禦為50,基礎經驗值0,每間隔3秒 時間可以調整 經驗會提公升10,當經驗到到達100時公升級,公升級時自己基礎防禦力提公升 0.5,友軍 防禦是40 提公升 0.1,敵人 防禦是30 會下降 0.2,使用事件委託的概念完成公升級時的需求。戰士類 publ...