C# 四十三、event(事件)

概念

事件是类在发生其关注的事情时用来提供通知的一种方式。

类或对象可以通过事件向其他类或对象通知发生的相关事情。

事件发行者(Publisher):一个事件的发行者,也称为发送者(Sender)。其实就是个对象,这个对象会自行维护本身的状态信息,当本身状态信息变动时,便触发一个事件,并通知所有的事件订阅者。

事件订阅者(Subscriber):对事件感兴趣的对象,也称为接收者(Receiver),可以注册感兴趣的事件,在事件发行者触发一个事件后,会自动执行这段代码。

声明事件

 必须先声明该事件的委托,声明事件本身用event关键字。

语法格式:访问修饰符 event 委托标识符 事件标识符;

代码示例:

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

namespace Test_CSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            //类的实例
            Class1 class1 = new Class1();
            Class2 class2 = new Class2();
            Class3 class3 = new Class3();
            //添加事件
            class1.MyEvent += class2.FunctionB;
            class1.MyEvent += class3.FunctionC;
            //调用方法
            class1.FunctionA();

            Console.ReadKey();
        }
    }

    class Class1
    {
        public delegate void myEventHandle();//声明委托
        public event myEventHandle MyEvent;//声明事件

        public void FunctionA()
        {
            Console.WriteLine('A');
            if (MyEvent!=null)
            {
                MyEvent();//调用事件
            }
        }
    }

    class Class2
    {
        public void FunctionB()
        {
            Console.WriteLine('B');
        }
    }

    class Class3
    {
        public void FunctionC()
        {
            Console.WriteLine('C');
        }
    }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值