程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 好好學習下C#委托和事件(一)

好好學習下C#委托和事件(一)

編輯:C#入門知識



這兩天重新溫習了一下關於委托和事件方面的知識,總結一下。

一.委托

委托就是能夠將方法作為變量來傳遞。

C#中使用委托的具體步驟是:

(1)委托的聲明。其參數形式一定要和想要包含的方法的參數形式一致。委托可以在程序運行時調用不同的方法,只要這個方法簽名和委托簽名保持一致。

格式:

[修飾符]  delegate  返回類型   委托號(參數列表)

例如: 

    MyDelegate1(   MyDelegate2();//無參數

聲明一個委托的對象,與聲明一個普通類對象的方式一樣。

 MyClass1 cls = = = =  MyDelegate2(cls.dMethod3);

 

委托名    委托對象;

(2)定義所有要定義的方法,其參數形式和第一步中聲明的委托對象的參數形式必須相同。

定義委托相對應的方法:

dMethod1( dMethod2(

(4)通過委托對象調用包含在其中的方法

d1( dbTemp=d3();

詳細實例:

dMethod1( dMethod2( MyDelegate1( Main(= = = = MyDelegate1 d4 = d1 + dbTemp = MyEventHander active; += EventHandler(handler);

在winform窗體中

OkButton.Click+= EventHandler(OkButton.Click);

只要事件被觸發,所預定的方法就會被調用。

事件的取消

格式:

事件名 -=new 委托名(方法名);

OkButton.Click-= EventHandler(OkButton.Click);

對於事件的操作只能使用+=和-=這兩種運算符。

(3)事件的發生

 事件的發生就是對事件相對應的委托的調用,也就是委托的調用列表中包含的各個方法的調用。

格式:

事件名(參數);

 詳細實例:

MyEventHandler(); MyEventHandler activate; Fire() (activate != Main(= += MyEventHandler(Handler); evt.Fire(); Main(= = += alarm.MakeAlarm; heater.Boiled += ( Alarm()).MakeAlarm; heater.Boiled += += Display.ShowMsg; type = area = BoiledEventArgs(.temperature = (Boiled != ,e); ( i = ; i <= ;i++=(temperature>= = ShowMsg(= sender

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved