亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

關于c#中的事件處理機制

2019-11-18 17:55:48
字體:
來源:轉載
供稿:網友

今天一朋友問我在程序中怎么實現事件。于是我總結了哈發出來。要明白事件,首先要知道什么是委托。在C#中委托允許開發人員
將一個對象中的方法傳遞給另一個能調用該方法的類的某個對象。比如:可以將類AC中的一個方法ADD[前提是這個方法以被包含在某個委托中了]傳遞給另一個類WMS。此時類WMS就能調用類AC中的ADD了。當然不管你是以什么方式實現方法的傳遞了,可以是靜態的,也可以是實例化的。。要實現一個委托,需要按照這樣的不揍:
A:申明委托對象。注意:參數一定要和你想要包含的方法的參數形式一致。
public delegate void NeweggDelegate(string values)
B:定義方法
class NeweggClass1{
 public viod NeweggMethod1(string values){}
public viod NeweggMethod2(string values){}
....}
 C:創建一個委托對象此時將這個方法包含在該委托對象中
class NeweggClass2{
public NeweggDelegate createDelegate()
{NeweggClass1 obj1=new NeweggClass1();
NeweggDelegate dele1=new NeweggDelegate(obj1.NeweggMethod1);
NeweggDelegate dele2=new NeweggDelegate(obj1.NeweggMethod2);
NeweggDelegate dele3=dele1+dele2;//屬于多點委托了
return dele3;
}
}
 D:再調用包含在委托中的方法。
class NeweggClass3
{
public void NeweggCallDelegate(NeweggDelegate de,string values)
{de(values);}
}
class test
{
static void Main(string[] args)
{
NeweggClass2 cls2=new NeweggClass2();
NeweggDelegate  delel=cls2.createDelegate();
NeweggClass3 cls3=new NeweggClass3();
cls3.NeweggCallDelegate(delel,"deleagte is used");
}
}
而事件是具有特定參數的委托對象而已。格式象:public delegate void NeweggEventHandler(object sender,NeweggEventArgs e);
sender表示觸發該事件的對象,e表示在事件處理函數里可以被使用的一些數據象NeweggEventArgs可以繼承自EvenetArgs類。當然有的時候不需要派生自己的類想一些GUI的程序,里面有很多縣城的事件使用如:MouseEventArgs。否則必須從EventArgs類派生。
現在舉例如下:
using System;
//步驟1:聲明委托對象
public delegate void MyHandler1(object sender,MyEventArgs e);
public delegate void MyHandler2(object sender,MyEventArgs e);
//步驟2:創建事件處理函數的方法
class A{
public const string m_id="Class A";
public void OnHandler1(object sender,MyEventArgs e){
Console.WriteLine("I am in OnHandler1 and MyEventArgs is {0}",
e.m_id);
}
public void OnHandler2(object sender,MyEventArgs e){
Console.WriteLine("I am in OnHandler2 and MyEventArgs is {0}",
e.m_id);
}
//步驟3:創建委托對象,并事件處理函數包含在其中同時設置好將要觸發事件的對象
public A(B b){
MyHandler1 d1=new MyHandler1(OnHandler1);
MyHandler2 d2=new MyHandler2(OnHandler2);
b.Event1 +=d1;
b.Event2 +=d2;
}
}
//步驟4:通過委托對象(也就是觸發事件)來調用被包含的方法
class B{
public event MyHandler1 Event1;
public event MyHandler2 Event2;
public void FireEvent1(MyEventArgs e){
if(Event1 != null){
Event1(this,e);
}
}
public void FireEvent2(MyEventArgs e){
if(Event2 != null){
Event2(this,e);
}
}
}
public class MyEventArgs EventArgs{
public string m_id;
}
public class Driver{
public static void Main(){
B b= new B();
A a= new A(b);
MyEventArgs e1=new MyEventArgs();
MyEventArgs e2=new MyEventArgs();
e1.m_id ="Event args for event 1";
e2.m_id ="Event args for event 2";
b.FireEvent1(e1);
b.FireEvent2(e2);
}
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品日韩一区| 久久99视频精品| 国产精品视频一区国模私拍| 亚洲毛片在线免费观看| 欧美性猛交xxxxx水多| 久久成人综合视频| 国产精品久久久久久av下载红粉| 亚洲精品日产aⅴ| 色香阁99久久精品久久久| 欧美激情一区二区三区高清视频| 亚洲区一区二区| 欧美日韩精品在线视频| 久久成人精品一区二区三区| 国产精品免费看久久久香蕉| 美乳少妇欧美精品| 久久中文字幕在线视频| 久久99视频免费| 在线精品国产欧美| 国产精品美女久久久免费| 国产成人一区二区三区小说| 国产小视频国产精品| 九九热这里只有精品免费看| 亚洲人午夜精品免费| 国产成人拍精品视频午夜网站| 亚洲大胆人体在线| 97精品一区二区三区| 亚洲有声小说3d| 亚洲国产另类 国产精品国产免费| 久久婷婷国产麻豆91天堂| 一区二区成人精品| 欧美极品在线播放| 亚洲高清色综合| 91在线视频九色| 欧美一级在线亚洲天堂| 日韩中文第一页| 国产精品激情av在线播放| 久久精品欧美视频| 国产精品偷伦一区二区| 欧美性在线视频| 91探花福利精品国产自产在线| 久久九九免费视频| 成人在线免费观看视视频| 国产精品狼人色视频一区| 亚洲va久久久噜噜噜| 欧美高清videos高潮hd| 亚洲人午夜精品免费| 欧美另类在线观看| 欧洲成人在线观看| 国产一区二区日韩| 欧美午夜女人视频在线| 久久天天躁狠狠躁夜夜av| 亚洲欧美变态国产另类| 国产精品jizz在线观看麻豆| 国产女人18毛片水18精品| 国内精品一区二区三区| 亚洲午夜精品久久久久久久久久久久| 91精品视频免费| 国产亚洲精品久久久久动| 成人国产精品免费视频| 久久夜色精品国产亚洲aⅴ| 欧美激情久久久久| 国产va免费精品高清在线观看| 亚洲免费av片| 亚洲专区中文字幕| 欧美精品国产精品日韩精品| 久久久久久久电影一区| 欧美成在线观看| 日韩高清不卡av| 一道本无吗dⅴd在线播放一区| 日韩欧美国产一区二区| 精品久久久久久亚洲精品| 日韩激情av在线免费观看| 国内精品久久久久久影视8| 国产成人精品免高潮在线观看| 亚洲欧洲一区二区三区在线观看| 国产在线999| 性日韩欧美在线视频| 岛国av在线不卡| 国产精品吹潮在线观看| 国产精品成人aaaaa网站| 亚洲图片欧美午夜| 大伊人狠狠躁夜夜躁av一区| 国产成人拍精品视频午夜网站| 亚洲高清免费观看高清完整版| 色老头一区二区三区在线观看| 欧美激情亚洲精品| 欧美精品在线免费| 欧美黄色www| 国产不卡av在线| 亚洲国产精品人人爽夜夜爽| 日韩av综合网站| 日韩最新av在线| 亚洲福利精品在线| 97在线视频免费观看| 亚洲激情在线观看| 性夜试看影院91社区| 一区二区三区四区精品| 久久久av一区| 在线看欧美日韩| 午夜精品美女自拍福到在线| 亚洲aⅴ日韩av电影在线观看| 欧美精品在线网站| 国产精品丝袜一区二区三区| 日韩欧美国产网站| 成人精品一区二区三区电影黑人| 欧美视频一区二区三区…| 激情懂色av一区av二区av| 国a精品视频大全| 亚洲毛茸茸少妇高潮呻吟| 久久久久久国产精品三级玉女聊斋| 色婷婷久久av| 欧美在线亚洲一区| 亚洲欧美国产日韩天堂区| 国产一区私人高清影院| 91免费在线视频网站| 欧美成人午夜免费视在线看片| 亚洲美女在线看| 欧美日韩成人免费| 岛国视频午夜一区免费在线观看| 中文字幕亚洲欧美一区二区三区| 国产精品v片在线观看不卡| 色爱精品视频一区| 成人免费xxxxx在线观看| 久久久欧美精品| 海角国产乱辈乱精品视频| 91免费精品视频| 精品无人区太爽高潮在线播放| 91在线看www| 久久精品久久久久电影| 精品少妇一区二区30p| 不卡av日日日| 欧美三级欧美成人高清www| 一区二区三欧美| 最近2019中文字幕第三页视频| www欧美日韩| 97免费在线视频| 97av视频在线| 久久综合免费视频影院| 91精品视频免费观看| 91av中文字幕| 亚洲欧美日韩中文在线制服| 色偷偷av一区二区三区| 精品呦交小u女在线| 51精品国产黑色丝袜高跟鞋| 国产精品第2页| 在线视频欧美日韩精品| 国产69精品久久久| 国产亚洲欧洲高清一区| 欧美怡春院一区二区三区| 亚洲最大的av网站| 夜夜狂射影院欧美极品| 久久亚洲国产精品成人av秋霞| 91啪国产在线| 色婷婷综合久久久久中文字幕1| 国内揄拍国内精品| 亚洲一级免费视频| 亚洲精品久久久一区二区三区| 日本精品中文字幕| 久久亚洲精品毛片| 精品二区三区线观看| 青青久久aⅴ北条麻妃| 91精品国产亚洲| 欧美成人免费在线观看| 久久久天堂国产精品女人|