使用Delegate類型設計自定義事件
作者:羅會濤
在C#編程中,除了Method和Property,任何Class都可以有自己的事件(Event)。定義和使用自定義事件的步驟如下:
(1)在Class之外定義一個delegate類型,用于確定事件程序的接口
(2)在Class內部,聲明一個public event變量,類型為上一步驟定義的delegate類型
(3)在某個Method或者Property內部某處,觸發事件
(4)Client程序中使用+=操作符指定事件處理程序
例子:
-
- public delegate void MyEventHandler(object sender, long lineNumber) ;
- public class DataImports
- {
-
- public event MyEventHandler NewLineRead ;
- public void ImportData()
- {
- long i = 0 ;
- while()
- {
- i++ ;
-
- if( NewLineRead != null ) NewLineRead(this, i);
-
- }
-
- }
-
- }
- private void CallMethod()
- {
-
- private DataImports _da = null;
-
- _da.NewLineRead += new MyEventHandler(this.DA_EnterNewLine) ;
-
- _da.ImportData();
- }
-
- private void DA_EnterNewLine(object sender, long lineNumber)
- {
-
- }
posted on 2008-11-03 00:55
BeyondCN 閱讀(599)
評論(0) 編輯 收藏 引用 所屬分類:
.NET