首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库C#文件操作

在C#中自定义事件

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2010-08-25 07:36:00

在C#编程中,除了方法(Method)和属性(Property),任何类(Class)都可以有自己的事件(Event)。定义和使用自定义事件的步骤如下:

1)在Class之外定义一个delegate类型,用于确定事件程序的接口;

2)在Class内部,声明一个public event变量,类型为上一步骤中定义的delegate类型;

3)在某个方法(Method)或者属性(Property)内部某处触发事件;

4)客户程序中使用+=操作符指定事件处理程序。

下面用一个具体的例子来说明这个问题:

// 定义Delegate类型,约束事件程序的参数

 public delegate void MyEventHandler(object sender, long lineNumber) ;

public class DataImports
        { 
                // 定义新事件NewLineRead 
                public event MyEventHandler NewLineRead ;

                public void ImportData() 
                { 
                        long i = 0 ; // 事件参数 
                        while() 
                        { 
                                i++ ; 
                                // 触发事件 
                                if( NewLineRead != null ) NewLineRead(this, i); 
                                //... 
                        } 
                        //... 
                } 
                //... 
        }

        // 以下为Client代码

        private void CallMethod() 
        { 
                // 声明Class变量,不需要WithEvents 
                private DataImports _da = null; 
                // 指定事件处理程序 
                _da.NewLineRead += new MyEventHandler(this.DA_EnterNewLine) ; 
                // 调用Class方法,途中会触发事件 
                _da.ImportData(); 
        } 
        // 事件处理程序 
        private void DA_EnterNewLine(object sender, long lineNumber) 
        { 
                // ... 
        }


本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.