宣告乙個事件很簡單,只需在宣告乙個委託物件時加上event關鍵字就行。如下:
public事件的使用和委託完全一樣,只是多了些約束。下面是乙個簡單的事件使用例子:delegate
void pricechangedhandler (decimal oldprice, decimal newprice);
public
class
iphone6
publicview codedelegate
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)
}
執行結果:
有人可能會問,如果把上面的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 分為事件型別,...