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

经验总结19--C#事件

时间:2014-07-17 10:18:57      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:style   使用   strong   re   c   new   

之前学过C#事件,不过一直没搞懂怎么弄。

这一次又研究了下。

1、定义一个参数类,用于事件的传参。(可省略)

    public class UserEventArgs
    {
        public User user { get; set; }
    }

2、编写需要执行事件的类。

 public class UserTask
    {
        public delegate void UserHandler(object sender, UserEventArgs e);//声明委托
        public event UserHandler handler;//把委托给事件

public void Submit()//触发事件的方法
        {
            OnEvent(new UserEventArgs (this));//传参,触发事件
        }

        public virtual void OnEvent(UserEventArgs e)
        {
            if (handler != null)
                handler(this, e);//回调,去调用需要执行的函数
        }

}

3、触发事件。

UserTask ut=new UserTask();

ut.handler+=new UserTask.UserHandler(CallbackMethod);//需要执行的方法

ut.Submit();//执行方法

public void(object sender, UserEventArgs e){}//接收参数,执行其他操作。


最后,事件就是主动去提交回调,然后调用使用该事件的方法。只要Submit执行时,就会触发回调函数。

经验总结19--C#事件,布布扣,bubuko.com

经验总结19--C#事件

标签:style   使用   strong   re   c   new   

原文地址:http://blog.csdn.net/qijunming1208/article/details/37900543

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!