C#中的委托和事件
更新時(shí)間:2022年05月04日 14:27:51 作者:農(nóng)碼一生
這篇文章介紹了C#中的委托和事件,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
一、定義委托
delegate void StudentDelegate();//【1】定義一個(gè)委托
二、定義一個(gè)調(diào)用和定義事件的類
/// <summary> ///定義事件和調(diào)用 事件一定要放在一個(gè)類里面 /// </summary> class InvokeDefine //【2】定義一個(gè)調(diào)用和定義事件的類 { public event StudentDelegate StudentEvent; public void Invoke() { StudentEvent?.Invoke();//?.Null檢查運(yùn)算符 } }
三、訂閱者
class EventFunction //【3】訂閱者 { public void Student1() { Console.WriteLine("我是訂閱者1"); } public void Student2() { Console.WriteLine("我是定訂閱者2"); } }
四、訂閱事件
static void Main(string[] args) { EventFunction eventFunction = new EventFunction(); InvokeDefine invokeDefine = new InvokeDefine(); invokeDefine.StudentEvent += eventFunction.Student1;//【4】訂閱事件 invokeDefine.StudentEvent += eventFunction.Student2; invokeDefine.Invoke(); Console.ReadKey(); }
五、總結(jié)
第一點(diǎn):在定義事件類的外部,他是不能使用=號來操作,只能用+=。
第二點(diǎn):在定義事件類的外部不能調(diào)用 事件。
第三點(diǎn):事件就是在委托的前面增加一個(gè)event關(guān)鍵字。
到此這篇關(guān)于C#委托事件的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#動態(tài)創(chuàng)建Access數(shù)據(jù)庫及表的方法
這篇文章主要介紹了C#動態(tài)創(chuàng)建Access數(shù)據(jù)庫及表的方法,以實(shí)例形式分析了創(chuàng)建access數(shù)據(jù)庫及在access數(shù)據(jù)庫中建表的完整過程,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service
這篇文章主要為大家詳細(xì)介紹了C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08淺析c#范型中的特殊關(guān)鍵字where & default
以下是對c#范型中的特殊關(guān)鍵字where和default進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下2013-09-09C#實(shí)現(xiàn)的三種模擬自動登錄和提交POST信息的方法
這篇文章主要介紹了C#實(shí)現(xiàn)的三種模擬自動登錄和提交POST信息的方法,分別列舉了WebBrowser、WebClient及HttpWebRequest實(shí)現(xiàn)自動登錄及提交POST的相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11