| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 543 人关注过本帖
标题:关于委托与事件,高分求解
取消只看楼主 加入收藏
gisdreamfly
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2009-3-2
结帖率:87.5%
收藏
已结贴  问题点数:100 回复次数:0 
关于委托与事件,高分求解
1、为什么标注的地方两种写法都可以?有什么区别没?

public delegate void EventHandler(object sender, EventArgs e);为系统定义的借口,有2个参数,
为什么在NewTimer.Tick += new EventHandler(CheckMessage);这里只有一个,是方法名??
(委托时把方法名当做参数传递,这里还是看不懂是怎么传递的)而方法的两个参数和接口两个参数是对应的。

 protected void Time()
        {
            Timer NewTimer = new Timer();
            NewTimer.Enabled = true;
            NewTimer.Interval = 100;
            NewTimer.Start();
            
            //这两种写法都可以, 有啥区别??
            //NewTimer.Tick += CheckMessage;
            NewTimer.Tick += new EventHandler(CheckMessage);
            

        }
        private void CheckMessage(object source,EventArgs e)
        {
            j++;
            if (j == 20)
                this.Close();
        }


2、
public  class Class2
    {
        public static string str1;
        public static string str2;      
      
        private static void EnglishGreeting(string name)
        {
            str1 = "Moring" + name;

        }

        private static void ChineseGreeting(string name)
        {
            str2 = "早上好, " + name;
        }
        public void Main()
        {
            GreetingManager GMa = new GreetingManager();
            GMa.GD1 += EnglishGreeting;
            GMa.GD1 += ChineseGreeting;
            GMa.GreetPeople("Jimmya");
        }
    }
   public class GreetingManager
   {      
//为什么委托名和事件必须一样??GreetDelegate
       public delegate void GreetDelegate(string name);
       public event GreetDelegate GD1;
      
       public void GreetPeople(string name)
       {
           
           
           if (GD1 != null)
           {
               GD1(name);
           }
       }
   }

上面红色两句是 自定义委托和事件,为什么必须一样都是GreetDelegate??
GMa.GD1 += EnglishGreeting;
GMa.GD1 += ChineseGreeting;
GD1是事件啊,这里到底是调用委托还是事件(考虑委托定义,是将方法绑定在委托上吗)?难道类似于实例化类的时候同时调用构造方法,有一指二的意思??

期待高手解释,闯过委托和事件这一关,感激不尽!!!
搜索更多相关主题的帖子: 高分 求解 委托 
2009-08-06 13:02
快速回复:关于委托与事件,高分求解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015946 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved