Net Core教程

C# 事件event

本文主要是介绍C# 事件event,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

 

 

 事件模型的五个组成部分

1、事件拥有者(event source ,对象)

2、事件成员(event 成员)

3、事件响应者(event subsriber,对象)

4、事件处理器(event handler ,方法成员或者委托)---本质上是一个回调方法

5、事件订阅-----------把事件处理器和事件关联在一起,本质上是一种以委托为基础的约定。

 

 注意

1、事件处理器是方法成员

2、挂接事件处理器的时候,可以使用委托实例,也可以直接使用方法名字。

3、事件处理器对事件的订阅不是随意。匹配与否由声明事件的委托类型来检测。

4、事件可以同步调用也可以异步调用

 

    public static void Main(string[] args)
    {

        Timer timer = new Timer();//事件拥有者闹钟

        Boy boy = new();//事件响应者我

        timer.Interval = 1000;//事件触发者
        timer.Elapsed += boy.Action;//订阅 先写这个,这时候boy.Action方法还未生成,鼠标放在boy.Action然后ctrl+.在类的内部自动生成方法。原理是事件处理器和事件有共同的签名。我们利用vs的自动功能快速生成方法
        timer.Start();
        Console.ReadLine();//让界面停在那边

    }

    class Boy
    {
        //事件处理器
        internal void Action(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("起床");//
        }
    }

 

这篇关于C# 事件event的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!