C#重点内容之:事件(Event)

一、事件的五个组成部分

事件的五个部分:

  1. 事件拥有者(对象)
  2. 事件成员(Event ,成员)
  3. 事件的响应者(对象)
  4. 事件处理器(成员,本质是一个回调方法)
  5. 事件订阅——把事件处理器与事件关联在一起

二、几个重要例子说明事件的使用

1、时钟的例子

◆问题提出:设置一个时钟,频率为1000毫秒,每隔1000毫秒就向控制台打印一行"hello,world";

分析:

  • 事件拥有者:时钟对象(timer)
  • 事件成员(即事件):Elapsed
  • 事件的响应者:自定义的一个对象(print)
  • 事件处理器:自定义对象的某个方法(action()方法)
  • 事件订阅:timer.Elapsed += print.action;

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;

namespace 事件_时钟的例子
{
    class Program
    {
        static void Main(string[] args)
        {
            Timer timer = new Timer(); //①事件拥有者(timer对象);
            timer.Interval = 1000;
            Print print = new Print();
            timer.Elapsed += print.action;//②和⑤事件和事件订阅;
            timer.Start();
            Console.ReadLine();
        }
    }
    class Print //③事件响应者;
    {
        internal void action(object sender, ElapsedEventArgs e) //④事件处理器;
        {
            Console.WriteLine("hello,world");
        }
    }
}
原文地址:https://www.cnblogs.com/tinaluo/p/7436287.html