一个最简单的C#事件例子

一个最简单的C#事件例子

一些初学者在学习事件的时候总觉得很难,其实可以从简单入手,虽然简单,但却包含了事件的整个机制流程等,要多想,再进行扩展,学起来就容易些了。

这个例子简单到只有两个类,一个事件发送类Sender,和一个事件接收类ReceiverSender负责发送一个事件EventReceiver负责接收和处理这个事件。

先来看Sender类:


    public class Sender
    {
        public delegate void EventHandler(object sender);
        public event EventHandler Event;

        public void TriggerEvent()
        {
            Console.WriteLine("Trigger an event.");
            Event(this);
        }
    }

先定义一个delegate EventHandler,再定义一个event Event并把它和delegate EventHandler关联起来。

接着触发事件,Event(this);

再来看Receiver类:


   class Receiver
    {
        public Receiver(Sender sender)
        {
            sender.Event +=new Sender.EventHandler(OnEvent);
        }
        private void OnEvent(object sender)
        {
            Console.WriteLine("Received and handled an event." );
            Console.Read();
        }
    }

Sender类触发的事件Event链入事件处理队列,指定具体处理事件的方法,处理事件。

整个过程就是这么简单,为了简单,没有在事件中设置参数,处理程序也都只是打印一句话。但可以通过这个简单的例子,好好整理一下事件的使用。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值