事件的基本使用

2022-02-24 22:35:21 字數 1097 閱讀 5372

宣告乙個事件很簡單,只需在宣告乙個委託物件時加上event關鍵字就行。如下:

public

delegate

void pricechangedhandler (decimal oldprice, decimal newprice);

public

class

iphone6

事件的使用和委託完全一樣,只是多了些約束。下面是乙個簡單的事件使用例子:

public

delegate

void pricechangedhandler(decimal oldprice, decimal

newprice);

public

class

iphone6

set }

}class

program ;

//訂閱事件

iphone6.pricechanged +=iphone6_pricechanged;

//調整**(事件發生)

iphone6.price = 3999

; console.readkey();

}static

void iphone6_pricechanged(decimal oldprice, decimal

price)

}

view code

執行結果:

有人可能會問,如果把上面的event關鍵字拿掉,結果不是一樣的嗎,到底有何不同?

沒錯可以用事件的地方就一定可以用委託代替。

但事件有一系列規則和約束用以保證程式的安全可控,事件只有 += 和 -= 操作,這樣訂閱者只能有訂閱或取消訂閱操作,沒有許可權執行其它操作。如果是委託,那麼訂閱者就可以使用 = 來對委託物件重新賦值(其它訂閱者全部被取消訂閱),甚至將其設定為null,甚至訂閱者還可以直接呼叫委託,這些都是很危險的操作,廣播者就失去了獨享控制權。

事件保證了程式的安全性和健壯性。

Vue 事件的基本使用 事件修飾符

1 doctype html 2 html 3 head 4 meta charset utf 8 5 title 事件的基本使用 title 6 script type text j ascript src js vue.js script 7head 8 body 917 div id root...

事件的使用

對於事件的使用總是用過就忘,不是非常熟練,簡單按如下來記憶吧。不是正規介紹,完整的介紹還是好好看看書或別人比較專業的。事件的使用分為三步 1.宣告委託,定義函式形式。2.宣告事件,用所定義的函式形式。3.定義觸發事件的函式。如下 public delegate void myeventhandler...

jQuery的基本事件與繫結事件

一 基礎事件包括滑鼠事件,鍵盤事件,windows事件,和表單事件。復合事件有滑鼠連擊事件和游標懸停事件。二 滑鼠在子元素進出時候,mouse over 事件會被觸發,而mouse enter 則不會被觸發。三 按下鍵盤時keydown,四 繫結事件bind type,data fn 分為事件型別,...