日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

转:终于会用c#中的delegate(委托)和event(事件)了

發(fā)布時間:2025/3/15 C# 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转:终于会用c#中的delegate(委托)和event(事件)了 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

第一個例子:

public class DelegateTest {// 聲明delegate對象 public delegate void CompareDelegate(int a,int b);// 欲傳遞的方法,它與CompareDelegate具有相同的參數(shù)和返回值類型 public static void Compare(int a,int b){Console.WriteLine((a>b).ToString());}public static void Main(){// 創(chuàng)建delegate對象 CompareDelegate cd = new CompareDelegate(DelegateTest.Compare);// 調(diào)用delegate cd(1,2);} }

再來一個例子:

public delegate void MyTestDelegate(int i); public class Program {public static void Main(){//創(chuàng)建delegateReceiveDelegateArgsFunc(new MyTestDelegate(DelegateFunction));}//這個方法接收一個delegate類型的參數(shù),也就是接收一個函數(shù)作為參數(shù)public static void ReceiveDelegateArgsFunc(MyTestDelegate func){func(21);}//欲傳遞的方法public static void DelegateFunction(int i){System.Console.WriteLine("傳過來的參數(shù)為: {0}.", i);} }

?

?

三、事件,讓你明白傻瓜式的OnClick是怎么來的

?

C#中的事件處理實際上是一種具有特殊簽名的delegate,象下面這個樣子:

public delegate void MyEventHandler(object sender, MyEventArgs e);

?

其中的兩個參數(shù),sender代表事件發(fā)送者,e是事件參數(shù)類。MyEventArgs類用來包含與事件相關(guān)的數(shù)據(jù),所有的事件參數(shù)類都必須從 System.EventArgs類派生。當(dāng)然,如果你的事件不含參數(shù),那么可以直接用System.EventArgs類作為參數(shù)。

好了,咱們就以O(shè)nClick為例說說事件的實現(xiàn)吧。

?

//這里自定義一個EventArgs,因為我想知道Clicker public class ButtonClickArgs : EventArgs {public string Clicker; }public class MyButton {//定義一個delegate委托public delegate void ClickHandler(object sender, ButtonClickArgs e);//定義事件,類型為上面定義的ClickHandler委托public event ClickHandler OnClick;public void Click(){//...觸發(fā)之前可能做了n多操作//.....//這時觸發(fā)Click事件,并傳入?yún)?shù)Clicker為本博主ivyOnClick(this, new ButtonClickArgs() { Clicker = "ivy" });} }public class Program {public static void Main(){MyButton btn = new MyButton();//注冊事件,把btn_OnClick方法壓入事件隊列,//可以+=多個,這里簡單點就壓入一個吧。btn.OnClick += new MyButton.ClickHandler(btn_OnClick);}this.button1.Click += new System.EventHandler(this.button1_Click);//原本雙擊的效果是這樣//怎么看到這個函數(shù)很熟悉吧,就是你原來雙擊button自動產(chǎn)生的代碼public static void btn_OnClick(object sender, ButtonClickArgs e){Console.WriteLine("真賤,我居然被ivy點擊了!");} }

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/bantongshui/p/3189711.html

總結(jié)

以上是生活随笔為你收集整理的转:终于会用c#中的delegate(委托)和event(事件)了的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色精品免费 | 香蕉国产在线视频 | 我要看一级黄色片 | 久久久看 | 欧美人妻精品一区二区三区 | 国产又粗又猛又爽视频 | 中文字幕第27页 | 亚洲欧美日韩国产综合 | 人妻少妇偷人精品久久久任期 | 婷婷六月在线 | 日产av在线| 免费av网站观看 | 91成人短视频在线观看 | 制服丝袜天堂网 | 蜜桃视频在线观看www | 中文字幕第一页久久 | 北条麻妃青青久久 | 粗大挺进潘金莲身体在线播放 | 免费av手机在线观看 | 日韩精品一区在线播放 | 欧美久久久久 | 久久精品aⅴ无码中文字字幕重口 | 成人aaaa | xxxxwww国产 | 欧美精品免费在线 | 天堂网中文 | 蜜桃臀一区二区三区 | 福利视频午夜 | 高清视频在线免费观看 | 99伊人网 | 四虎国产精品永久在线国在线 | 91在线高清视频 | 青青草视频黄 | 伊人天堂在线 | 国产精品2| 黄色操人| 69日本xxxxxxxxx30 在线波多野结衣 | 黑人一级| 国产又粗又猛又黄又爽 | 精品少妇theporn | 国产女教师一区二区三区 | 影音先锋久久 | 国产浪潮av| 亚洲激情精品 | 1024手机在线看片 | 一区二区三区在线观 | 国产精品综合久久久久久 | 男女插插插网站 | 四虎看黄 | 国产一二三区在线视频 | 九九久久99 | 中文字幕一区二区三 | 欧美人妻精品一区二区 | 国产精品白浆一区二小说 | 亚洲国产看片 | 久久精品黄aa片一区二区三区 | www男人的天堂 | 日本一品道 | 一级黄色片视频 | 69av视频在线观看 | 日本亚洲在线 | 国产噜噜噜噜噜久久久久久久久 | 四虎永久在线精品 | 欧美xxxxx高潮喷水麻豆 | 免费毛片大全 | 午夜免费片 | 色婷婷a| 国产精品亚洲无码 | 女儿朋友| 精品福利影院 | 欧美成人午夜影院 | 久久对白| 日本韩国三级 | 免费草逼网站 | 亚洲九九九九 | 51精产品一区一区三区 | 相亲对象是问题学生动漫免费观看 | 91丨九色丨丰满 | 一区二区成人av | 自拍偷拍国内 | 免费萌白酱国产一区二区三区 | 美女让男人捅 | 日韩精品一区在线播放 | 超级砰砰砰97免费观看最新一期 | 黄在线观看免费 | 法国空姐电影在线观看 | 夜夜嗨老熟女av一区二区三区 | 国产aaa| 久久久久麻豆 | 麻豆视频免费入口 | 色多多视频污 | 国产黄色大全 | 欧美激情视频在线观看 | 好看的黄色网址 | 免费一级网站 | 国产精品自拍网站 | 国产高清久久久 | 国产成人综合av | 精品玖玖玖 |