事件的本質---特殊的多路廣播委託
定義事件:
事件訪問修飾符一般為public 定義為公共型別可以使事件對其他類可見
事件定義中還包括委託型別,既可以是自定義委託型別也可以是eventhandler(預定義)
運用"+="運算子來訂閱事件,運用"-="運算子來取消訂閱事件
例:自定義委託事件
1事件的訂閱與取消class
helloworld216
17}18static
void main(string
args)
1939}40
41class
friend
4249
//事件處理函式,該函式需要符合marry委託定義
50public
void sendmessage(string
message)
51收到了到時準時參加
",name);56}
5758 }
例:預定義委託事件
1使用預定義委託事件訂閱與取消class
helloworld215
16}17static
void main(string
args)
1838}39
40class
friend
4148
//事件處理函式,該函式需要符合marry委託定義
49public
void sendmessage(object
s,eventargs e)
50收到了到時準時參加
",name);53}
5455 }
執行結果:
例:eventargs擴充套件
1eventargs擴充套件//自定義事件型別並使其帶有事件資料
2public
class
eventmsg : eventargs310
}111213
class
helloworld
142728}
29static
void main(string
args)
3050}51
52class
friend
5360
//事件處理函式,該函式需要符合marry委託定義
61public
void sendmessage(object
s,eventargs e)
62收到了到時準時參加
",name);65}
6667 }
在vs中可以用f12檢視eventhandler的定義
public delegate void eventhandler(object sender, eventargs e);
(1)該委託返回型別是void因此例項化委託型別的方法也要滿足這點
(2)第乙個引數sender負責儲存對觸發事件物件的引用,其型別為object
(3)第二個引數e儲存事件資料,eventargs類也是.net類庫中定義的類,它不儲存任何火資料
C 基礎概念之事件
事件,是c 程式設計模型中重要的乙個概念,通過對事件的理解,可以更好的了解c 程式執行機制。c 中的事件,可以簡單的理解為類或者物件發生了一件事,並且把這件事通知給了其他的類或者物件,其他的類或者物件可以根據事件的訊息有所反應。這非常類似設計模式中的觀察者模式。引發事件的類或物件,可以稱之為事件源,...
C 學習筆記之 事件 Event
發布器 publisher 是乙個包含事件和委託定義的物件。事件和委託之間的聯絡也定義在這個物件中。發布器 publisher 類的物件呼叫這個事件,並通知其他的物件。訂閱器 subscriber 是乙個接受事件並提供事件處理程式的物件。在發布器 publisher 類中的委託呼叫訂閱器 subsc...
觸控事件之事件傳遞
uiview是如何判定這個事件是否是自己應該處理的呢?hittest withevent 方法的處理流程如下 呼叫當前view的pointinside withevent 方法來判定觸控點是否在當前view內部,如果返回no,則hittest withevent 返回nil 如果返回yes,則向當前...