• <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
            丰满少妇高潮惨叫久久久| 久久午夜伦鲁片免费无码| 精品久久久噜噜噜久久久| 久久99热这里只有精品66| 久久精品免费网站网| 日本三级久久网| 成人亚洲欧美久久久久| 亚洲午夜久久久久久久久久| 一级a性色生活片久久无| 伊人色综合九久久天天蜜桃| 久久久国产视频| 色综合久久无码五十路人妻| 嫩草伊人久久精品少妇AV| 欧美亚洲色综久久精品国产| 精品国产一区二区三区久久久狼| 精品国产乱码久久久久久1区2区| 2020久久精品国产免费| 91精品国产91久久久久久青草 | 久久久久亚洲精品男人的天堂| 99久久精品国产一区二区蜜芽| 伊人久久大香线蕉影院95| 久久久久无码精品| 三级三级久久三级久久 | 久久亚洲视频| 久久久久亚洲AV成人网人人网站 | 久久99精品久久久久久hb无码| 久久99国产精品一区二区| 亚洲国产精品热久久| 久久综合给合综合久久| 伊人久久大香线蕉av一区| 人人狠狠综合久久亚洲88| 亚洲欧洲久久av| 久久久久亚洲精品无码蜜桃| 精品人妻伦九区久久AAA片69| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久综合五月丁香久久激情| 国内高清久久久久久| 青青草原综合久久大伊人精品| 日本久久中文字幕| 91久久精品91久久性色| 亚洲欧美久久久久9999|