码迷,mamicode.com
首页 > Windows程序 > 详细

C# 事件

时间:2016-11-14 12:19:59      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:lis   display   param   xmlns   标准   image   class   预览   rgs   


  下面的过程演示了如何将符合标准 .NET 模式的事件添加到您的类和结构中。  .NET类库中的所有事件均基于 EventHandler 委托,定义如下:  

public delegate void EventHandler(object sender, EventArgs e);

  你可以尝试手动输入 EventHandler ,然后按下“F12”跳转到定义:

技术分享

 

  .NET Framework 2.0 引入了此委托的一个泛型版本,即 EventHandler<TEventArgs>

  【备注】虽然您定义的类中的事件可基于任何有效委托类型(甚至是可返回值的委托),但是,通常建议您使用 EventHandler 让事件基于 .NET 模式,如下面的示例所示。

 

采用 EventHandler 模式发布事件

  1.(如果不需要与事件一起发送自定义数据,请跳过此步骤,进入步骤 3a。)在发行者类和订阅方类均可看见的范围中声明自定义数据的类。  然后添加保留您的自定义事件数据所需的成员。  在此示例中,会返回一个简单字符串。

1     class MyEventArgs : EventArgs
2     {
3         public string Message { get; private set; }
4 
5         public MyEventArgs(string message)
6         {
7             Message = message;
8         }
9     }

 

  2.(如果您使用的是 EventHandler<TEventArgs> 的泛型版本,请跳过此步骤。)在发布类中声明一个委托。  为它指定以 EventHandler 结尾的名称。  第二个参数指定自定义 EventArgs 类型。 

    delegate void MyEventHandler(object sender, MyEventArgs args);

 

 

 

--预览版,整理中

C# 事件

标签:lis   display   param   xmlns   标准   image   class   预览   rgs   

原文地址:http://www.cnblogs.com/liqingwen/p/6060297.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!