C 特性之事件

2022-04-29 03:33:10 字數 1855 閱讀 1395

事件的本質---特殊的多路廣播委託

定義事件:

事件訪問修飾符一般為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擴充套件

1

//自定義事件型別並使其帶有事件資料

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 }

eventargs擴充套件

在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,則向當前...