c 委託事件入門 第二講 事件入門

2022-02-21 05:07:37 字數 1137 閱讀 7473

上文 c#委託事件入門--第一講:委託入門 中和大家介紹了委託,學習委託必不可少的就要說下事件。以下思明仍然從事件是什麼、為什麼用事件、怎麼實現事件和總結介紹一下事件 

1、事件是什麼:.

1.1 net事件建立在委託機制之上,事件是對委託的封裝。

1.2 事件的分類: 強型別事件和弱型別事件

2、為什麼用事件:

從上文委託入門介紹中我們可以了解到,我們可以在客戶端隨意對委託進行操作,一定程度上破壞了物件導向的封裝機制,因此事件的出現就是為了實現對委託的封裝

3、怎麼實現事件:

其實事件的定義很簡單,但是需要依賴委託:關鍵字event就是事件的標識

///

///1、定義乙個委託

/// ///

public

delegate

void boilhandler(int

x);

//////

2、宣告乙個事件

/// public

event boilhandler boilhandler;

也就是在上文介紹委託入門的**中。宣告乙個委託的方法上加上關鍵字event即可,

完整**如下:

using

system;

namespace

delegatedemo

+=", x, y, x +y);

}public

static

void write2(int x, int

y) *=

", x, y, x *y);

}static

void main(string

args)

}public

class

gmanage}}

}

但是在實現註冊的時候和委託的註冊不一樣,因為事件僅僅提供了 += 和 -= 兩個對外的方法來實現方法的繫結和解綁,如果依舊使用 賦值符號 = ,程式即將報錯。

4、總結

事件的本質就是委託,向外提供兩個訪問方法add_eventname(對應+=)和remove-eventname(對應-=)來實現方法的繫結和解綁,同時更符合物件導向的封裝性和安全性。

c 委託事件入門 第一講 委託入門

說起委託,有些剛剛入門c 的人感覺很高大上,沒有接觸過,但是其實很多人都用過lambda表示式,實際上lambda表示式就是乙個委託。關於委託入門有個大神寫的很詳細 張子陽的部落格 c 中的委託和事件 part.1 下面就按照思明的理解介紹一下委託入門 1 委託是什麼 委託是乙個類,它定義了方法的型...

c 委託事件

1,什麼是委託 委託是什麼?從生活理解就像是你是乙個c 程式設計師,你對c 並不了解,當需要進行c 分析的時候你委託給你的一位懂c 的同事幫你來完成 在c 中,委託的作用是這樣描述的 委託就像乙個函式的指標,在程式執行時可以使用它們來呼叫不同的函式。簡單點說,委託能夠引用函式,通過傳遞位址的機制完成...

C 委託事件

一 委託 委託類似於函式指標,但函式指標只能引用靜態方法,而委託既能引用靜態方法,也能引用例項方法。委託使用分三步 1 委託宣告。2 委託例項化。3 委託呼叫。例程一 程式 using system namespace 委託 private int add int num1,int num2 例中,...