參照委託理解事件

2022-07-26 12:48:17 字數 788 閱讀 3077

namespace eventdemo

public static void listen_bark()

}//1、純委託型別版「事件」,不安全

class dog

}public delebark onbark;//dog的委託型別成員--「事件」

}//2、私有委託型別的「事件」,安全可控

onbark定義為private 的,外界不可直接訪問和呼叫。

增加公共方法addonbark和removebark,讓外界為這個委託新增或移除方法

class dog

}private delbark onbark;//dog的委託型別的私有成員--「事件」

//給「事件」註冊方法

public void addbark(delebark dele)

//給「事件」登出方法

public void removebark(delebark dele)

}//3、真實的事件:public的事件相當於:乙個私有的委託成員 加上公開的add和remove兩個方法

// 將事件成員被設定為public的event修飾的成員。

// 封裝add方法和remove方法,外界可通過「+=」和「-=」為期註冊和登出事件響應方法。

// 由於是event修飾的,只允許內部呼叫,外界不能呼叫了。

class dog

}public event delbark onbark;//定義事件,用原來語言上再加event關鍵字修飾

}}

事件冒泡 了解事件委託全流程

說是初認識,其實也不算了,剛學習js時就已經聽過事件的冒泡和捕獲的大名,但真是不知所云,也是不求甚解,迷惑了很久,今天終決定好好來了解一下這個冒泡。在此之前呢,不得不提一下事件流 描述的是從頁面中接受事件的順序。當事件發生後,這個事件就要開始傳播 從裡到外或者從外向裡 為什麼要傳播呢?因為事件源本身...

學習C 簡單理解事件

如果要閱讀這篇文章,建議先讀我的文章委託,如果你已了解委託,那麼忽略這段話即可。public delegate void playhandle public playhandel playevent 第一段 第一行宣告了乙個委託型別playhandle 第二行宣告了乙個委託變數playevent 之...

深入理解事件捕獲冒泡

看到乙個的日誌,發現自己對事件冒泡捕獲並沒有完全理解透。借用一下這個例子和大家 一下 假設有指令碼片段如下 document.body.addeventlistener mousedown function e false document.body.addevnetlistener mousedo...