经验总结19--C#事件

之前学过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执行时,就会触发回调函数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值