首页 > 其他 > 详细

多播委托和事件

时间:2015-04-25 10:34:24      阅读:274      评论:0      收藏:0      [点我收藏+]

事件的创造规则是类型必须是一个委托的类型,也就是说是委托实例化了事件

事例代码如下:

这是两个以后要被委托的方法:

public class EventManager
    {
        //第一个方法
        public void Add(int i,int j) 
        {
            int res = i + j;
            MessageBox.Show(res.ToString());
        }
        //第二个方法
        public void SayHello(int i,int j) 
        {
            MessageBox.Show("hello word"+(i*j).ToString());
        }

    }

这是委托以及时间的创造过程,包括了多播委托,每次创建一个新的委托放在事件上,就要新new一次委托,如此会创建一个委托队列:

        //创建委托
        public delegate void Num(int i, int j);
        //根据委托实例化事件,这里的事件只需要实例化一次
        public event Num caculate;

        private void button1_Click(object sender, EventArgs e)
        {
            EventManager em = new EventManager();
            //使用委托重载参数相同的实现方法
            Num num = new Num(em.Add);
            //使用事件绑定委托Add方法
            caculate += num;
            //使用事件绑定第二个说helloWord的方法
            caculate += new Num(em.SayHello);
            //在这里只需要对事件穿第一次参数,事件的参数就会传入到每一个委托的方法里面执行得到不同的结果
            this.caculate(5,5);
        }

 

多播委托和事件

原文:http://www.cnblogs.com/llcdbk/p/4455390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!