码迷,mamicode.com
首页 > 其他好文 > 详细

多播委托和事件

时间:2015-04-25 10:34:35      阅读:150      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!