上文 c#委託事件入門--第一講:委託入門 中和大家介紹了委託,學習委託必不可少的就要說下事件。以下思明仍然從事件是什麼、為什麼用事件、怎麼實現事件和總結介紹一下事件
1、事件是什麼:.
1.1 net事件建立在委託機制之上,事件是對委託的封裝。
1.2 事件的分類: 強型別事件和弱型別事件
2、為什麼用事件:
從上文委託入門介紹中我們可以了解到,我們可以在客戶端隨意對委託進行操作,一定程度上破壞了物件導向的封裝機制,因此事件的出現就是為了實現對委託的封裝
3、怎麼實現事件:
其實事件的定義很簡單,但是需要依賴委託:關鍵字event就是事件的標識
//////1、定義乙個委託
/// ///
public
delegate
void boilhandler(int
x);
//////
2、宣告乙個事件
/// public
event boilhandler boilhandler;
也就是在上文介紹委託入門的**中。宣告乙個委託的方法上加上關鍵字event即可,
完整**如下:
usingsystem;
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 例中,...