代码改变世界

C#委托事件使用简单示例

2011-01-11 17:57  ☆冷枫☆  阅读(464)  评论(1编辑  收藏  举报

      C#中使用事件简单的说就那么几个步骤:

           1、定义一个委托;

          2、定义一个事件;

          3、编写事件处理函数;

          4、注册并触发事件。

     在这里我们以一个"猫叫老鼠跑"为例,简单的阐述一下委托事件的使用方法,具体的我们可以看下下面的demo,相信对委托事件还不是很理解的朋友有所启发.

   

 class Program
    {       
        
static void Main(string[] args)
        {            
            cat cat 
= new cat();    //产生一个猫类对象
            mouse mo = new mouse(); //产生一个鼠类对象
            cat.Emethod += new cat.delegatehandler(mo.Run);  //注册事件【触发委托订阅的方法】
            cat.Cry();
            Console.ReadKey();

        }      
    }

    
//猫类
    class cat {
        
public delegate void delegatehandler();  //定义委托
        public event delegatehandler Emethod;    //定义事件
        
        
//事件触发方法【猫叫一声触发事件】
        public void Cry() {
            Console.WriteLine(
"miao...");
            raiseEvt();
        }
        
public void raiseEvt() {
            
//如果定义订阅过事件则触发事件
            if (Emethod != null)
            {
                Emethod();
            }
        }
   }    

    
//鼠类
    class mouse {
        
//委托的方法
        public void Run() {
            Console.WriteLine(
"猫来了,快跑啊。。。");
        }
    }