using system;
namespace delegate_event
// 定義乙個委託,名字隨便起
public delegate void catshoutdelegate ();
// 定義乙個事件,事件的型別是委託的名字
public event catshoutdelegate catshoutevent;
// 定義乙個貓叫的方法
public void shout ()
", name);
// 當執行貓叫的方法的時候,會判斷委託的例項物件是否存在
// 當存在例項物件的時候,表示事件已經發生了
// 這個時候就該執行被委託的方法了,main函式中是委託的什麼方法就執行什麼方法
if (catshoutevent != null)
} }class mouse
public void run ()
}class mainclass }
}
C 委託和事件例項
當建立委託物件時,委託的引數型別必須與委託方法相對應。只要向建立委託物件的建構函式中輸入方法名稱example.method,委託就會直接繫結此方法。使用mydelegate.invoke string message 就能顯式呼叫委託方法。但在實際的操作中,我們無須用到 invoke 方法,而只要...
C C 事件與介面例項講解分析
c 事件與介面例項講解分析 初學c 的,對於事件與介面感到迷惑不解,不明白它們之間的關係,通過資料以下例項能說明它們之間的關係 using system using system.collections.generic using system.componentmodel using system...
委託例項(delegate例項 事件委託通知)
delegate例項 delegate是c 中的一種型別,它實際上是乙個能夠持有對某個方法的引用的類。與其它的類不同,delegate類能夠擁有乙個簽名 signature 並且它只能持有與它的簽名相匹配的方法的引用。它所實現的功能與c c 中的函式指標十分相似。它允許你傳遞乙個類a的方法m 給另乙...