.Net_委托和事件

 

委托是一种数据类型,也可把方法作为参数进行传递。像类也是一种数据类型。(可以声明委托类型变量)

     //定义一个保存方法的类型


    //定义一个无参数,无返回值存放方法的类型。  
    public delegate  void showFundelegate();
   
    class c
    {

         //把Fun方法放到Funing 变量中。
        public showFundelegate  Funing = Fun;
        //多播委托
        Funing+=方法2;
        Funing+=方法3
        public void Fun()
        {
            Console.WriteLine(DateTime.Now.ToString());
         }  

        static void Main(string[] args)
       {
           //调用方法
            Funing();
        }        
    }

在写自定义控件的时候使用委托的弊端:

1.可以冒充事件。因为:事件只能在类的内部触发的(调用),而委托可以在任何地方访问。

2.事件不能通过=赋值,即:不可以将前面已经注册的方法覆盖掉。

事件的本质:
private myDelegate d;

public void Add(myDelegate md)
{
d+=md;
}

public void Remove(myDelegate md)
{
d-=md;
}

d();

 

 

 

 

posted @ 2013-03-06 13:39  陆俊杰_iOS  阅读(189)  评论(0编辑  收藏  举报

版权信息:©Copyright © 2010-2050 陆俊杰的博客