”貓叫老鼠跑“來記憶委託和事件
主要事件執行類:
class //函數入口
{
static void main(string[] args)
{
cat cat = new cat();
mouse mouse = new mouse();
cat.Emethod + =new cat.deletagehandler(mouse.run()); //註冊事件 【觸發委託訂閱的方法】
cat.cry();
console.ReadKey();
}
}
class cat //貓類
{
public delegate void delegatehandler(); //定義委託
public event delegatehandler Emethod; //定義事件
public event
public delegate void cry()
{
Console.WriteLine("miao!");
raiseEvent();
}
public void raiseEvent()
{
//如果註冊過事件則觸發事件
if(Emethod!=null)
{
Emethod();
}
}
}
class mouse //鼠類
{
public void run() //委託的方法
{
Console.WriteLine("貓來了,快跑!");
}
}
=======
打印當然是結果:
miao!
貓來了,快跑!
有2點我們是需要理解的:
1.委託是用來訂閱方法的
2.事件是需要註冊的
還有1點我們需要明白的是:事件引入的目的就是一個類函數中爲了觸發另一個類中的函數。
歸納起來事件使用步驟如下:
1.定義委託
2.定義事件
3.編寫事件處理函數
4.註冊事件
5.觸發事件