• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 17,  comments - 2,  trackbacks - 0

             使用Delegate類型設(shè)計(jì)自定義事件

            作者:羅會濤


                在C#編程中,除了Method和Property,任何Class都可以有自己的事件(Event)。定義和使用自定義事件的步驟如下:

             (1)在Class之外定義一個(gè)delegate類型,用于確定事件程序的接口  
             (2)在Class內(nèi)部,聲明一個(gè)public event變量,類型為上一步驟定義的delegate類型  
             (3)在某個(gè)Method或者Property內(nèi)部某處,觸發(fā)事件  
             (4)Client程序中使用+=操作符指定事件處理程序 


            例子:  

            1.  // 定義Delegate類型,約束事件程序的參數(shù) 
            2.    public delegate void MyEventHandler(object sender, long lineNumber) ; 
            3.    public class DataImports 
            4.    { 
            5.       // 定義新事件NewLineRead 
            6.       public event MyEventHandler NewLineRead ; 
            7.       public void ImportData() 
            8.       { 
            9.          long i = 0 ; // 事件參數(shù) 
            10.          while() 
            11.          { 
            12.             i++ ; 
            13.             // 觸發(fā)事件 
            14.             if( NewLineRead != null ) NewLineRead(this, i); 
            15.             //... 
            16.          } 
            17.          //... 
            18.       } 
            19.       //... 
            20.    } 
            21. // 以下為Client代碼 
            22.    private void CallMethod() 
            23.    { 
            24.       // 聲明Class變量,不需要WithEvents 
            25.       private DataImports _da = null
            26.       // 指定事件處理程序 
            27.       _da.NewLineRead += new MyEventHandler(this.DA_EnterNewLine) ; 
            28.       // 調(diào)用Class方法,途中會觸發(fā)事件 
            29.       _da.ImportData(); 
            30.    } 
            31.    // 事件處理程序 
            32.    private void DA_EnterNewLine(object sender, long lineNumber) 
            33.    { 
            34.       // ... 
            35.    } 

             

            posted on 2008-11-03 00:55 BeyondCN 閱讀(599) 評論(0)  編輯 收藏 引用 所屬分類: .NET
            久久无码人妻精品一区二区三区| 亚洲美日韩Av中文字幕无码久久久妻妇 | 久久久WWW成人| 久久久久久久久久久免费精品| 青青久久精品国产免费看| 理论片午午伦夜理片久久| 精品伊人久久大线蕉色首页| 精品久久久久久成人AV| 久久高潮一级毛片免费| 伊人久久综合无码成人网| 日本精品久久久久中文字幕8| 久久伊人色| 久久被窝电影亚洲爽爽爽| 亚洲日本久久久午夜精品| 久久99热只有频精品8| 久久天天躁狠狠躁夜夜av浪潮| 无码人妻精品一区二区三区久久 | 久久综合亚洲鲁鲁五月天| 97精品久久天干天天天按摩| 欧美久久一区二区三区| 国产亚洲综合久久系列| 综合久久给合久久狠狠狠97色| 亚洲乱亚洲乱淫久久| 日韩久久久久久中文人妻| 国产亚州精品女人久久久久久| 久久永久免费人妻精品下载| 久久久久噜噜噜亚洲熟女综合| 久久成人影院精品777| 色婷婷综合久久久久中文一区二区 | 久久棈精品久久久久久噜噜| 四虎国产精品成人免费久久| 久久96国产精品久久久| 亚洲va久久久噜噜噜久久狠狠 | 一本久道久久综合狠狠爱| 久久有码中文字幕| 狠狠色综合久久久久尤物| 久久se精品一区精品二区| 精品久久久久久无码专区不卡| 久久人人爽人人爽人人AV东京热| 国产激情久久久久久熟女老人| 思思久久99热免费精品6|