你的位置:首页 > 软件开发 > ASP.net > 关于c#中的事件

关于c#中的事件

发布时间:2016-01-12 09:00:06
原文链接http://blog.csdn.net/joyhen/article/details/8500211 最近在看委托,然后看到事件,以前一直很模糊,关于事件的触发者和响应者的关联。贴一个简单的例子:1.新建一个类Control.cs using System; ...

关于c#中的事件

原文链接http://blog.csdn.net/joyhen/article/details/8500211

 

最近在看委托,然后看到事件,以前一直很模糊,关于事件的触发者和响应者的关联。贴一个简单的例子:

1.新建一个类Control.cs

 

  1. using System;  
  2.   
  3. namespace EventComplex  
  4. {  
  5.     /* 
  6.      * C#中的事件处理实际上是一种具有特殊签名的delegate 
  7.      */  
  8.     public class Control  
  9.     {  
  10.         /// <summary>  
  11.         /// 代表事件发送者  
  12.         /// </summary>  
  13.         /// <param name="sender">代表事件发送者</param>  
  14.         /// <param name="e">事件参数类  
  15.         /// <remarks>用来包含与事件相关的数据,所有的事件参数类都必须从System.EventArgs类派生</remarks>  
  16.         /// </param>  
  17.         public delegate void MyEventHandler(object sender, MyEventArgs e);//System.EventArgs e  
  18.         public event MyEventHandler MyEvent;  
  19.   
  20.         public Control()  
  21.         {  
  22.             this.MyEvent += new MyEventHandler(RaiseSomeEvent);  
  23.         }  
  24.   
  25.         /// <summary>  
  26.         /// 一个事件  
  27.         /// </summary>  
  28.         public void RaiseSomeEvent(object sender, MyEventArgs e)  
  29.         {  
  30.             Console.WriteLine("hello " + e.ParamName);  
  31.             Console.ReadLine();  
  32.         }  
  33.   
  34.         public void RiseSomeEvent()  
  35.         {  
  36.             //System.EventArgs e = new System.EventArgs();  
  37.             Console.Write("Please input 'Name':");  
  38.             get='_blank'>string _param = Console.ReadLine();//ReadLine:按下回车以后才读取,然后触发MyEvent事件  
  39.   
  40.             //if (_param.Equals("jon"))//在用户输入jon的情况下触发事件,否则不触发   
  41.             MyEvent(this, new MyEventArgs(_param));//MyEvent(this,e)  
  42.         }  
  43.     }  
  44.   
  45.     public class MyEventArgs : System.EventArgs  
  46.     {  
  47.         public string ParamName;  
  48.         public MyEventArgs(string _name)  
  49.         {  
  50.             ParamName = _name;  
  51.         }  
  52.     }  
  53. }  

原标题:关于c#中的事件

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录