网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > DotNet > C# > C#的事件机制  

C#的事件机制

2005-12-06  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  C#的事件机制是基于委托实现的。实现一个事件,要先定义一个委托类型
  
  class1
  {
  public delegate void mydelegate (myEventArgs e);
  public event mydelegate event1;
  }
  
  然后我们可以使用+=和-=注册、移除事件
  
  class1.event1 += new mydelegate(new myEventArgs());
  
  在class中引发事件时最好这样
  
  class1
  {
  public fireEvent()
  {
  if(event1 != null)
  event1();
  }
  }
  
  如果不想声明自己的委托类型的话,可以使用System.EventHandler的委托类型
  
  public delegate void EventHandler(object sender, EventArgs e);
  
  其中EventArgs转送附加参数。
  
  可以实现自己的EventArgs类
  
  class myEventArgs:EventArgs
  {
  }
  类名最好以EventArgs 结尾,这是个默认规则
  
  调用时如果不想使用参数可以传递
  
  EventArgs.Empty
  
  事件其实背后做了很多工作,自动生成一个委托实例、一个注册委托的add_XXX方法、一个注销委托的 网管u家u.bitscn@com
  
  Remove_XXX方法。事实上这两个方法可以自己定制。只要声明事件时使用以下语法:
  public event MyDelegate1 Event1
  {
  add
  {
  }
  remove
  {
  }
  }
  
  在其中实现自己的注册函数即可。看上去是不是很像属性的定义:)

TAGs机制   事件   委托   自己   EventArgs   实现    
 上一篇:彻底剖析C# 2.0泛型类的创建和使用   下一篇:C#中一些字符串操作的常用用法
相关文章列表
C#的事件机制 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.DotNET(C#) Socket基本编程
2.Visual C#中用WMI获取远程计算
3.用C# 实现C/S模式下软件自动在线升级
4.使用C#实现阿拉伯数字到大写中文的转换
5.利用C#制作 ASP.NET 登录页面
6.C#简明教程
7.C#来创建和读取XML文档
8.C#的Windows编程中多语言的实现
9.C#中一些字符串操作的常用用法
10.C#委托的具体实现方法
最新推荐文章:
1.Delphi调用WebServices(C#)代码
2.利用C#制作 ASP.NET 登录页面
3.数得明白-用C#制作源代码统计软件
4.利用C#来做ASP.NET的登陆页面
5.C#编程入门基础 控制语句概要
6.C#中将DataSet的内容写成XML
7.使用VBA.NET压缩备份C#工程
8.在C#中动态调用native dll的导出函数
9.C#3.0之对象与集合初始化
10.C#向Excel报表中插入图片的2种方法
网管论坛交流:
·不疯魔不成活
·令你大开眼界的真正标准化机房,已整理重
·为赈灾,女孩舍身拍“裸照”
·Windows Server 2003服务器群集创建和配
·exchange2k3全套官方资料
·双儿一周岁了。。。特殊的礼物来啦。。
·存储备份技术版块守则
·无盘技术交流区守则
·DOS命令基础大全之命令详解<作者吐血
·Windows XP 操作系统默认设置需要注意的