委托事件

一、定义委托

   delegate void StudentDelegate();//【1】定义一个委托

二、定义一个调用和定义事件的类

    /// <summary>
    ///定义事件和调用 事件一定要放在一个类里面
    /// </summary>
    class InvokeDefine //【2】定义一个调用和定义事件的类
    {
        public event StudentDelegate StudentEvent;
        public void Invoke()
        {
            StudentEvent?.Invoke();//?.Null检查运算符
        }
    }

三、订阅者

 class EventFunction //【3】订阅者
    {
        public void Student1()
        {
            Console.WriteLine("我是订阅者1");
        }
        public void Student2()
        {
            Console.WriteLine("我是定订阅者2");
        }
    }

四、订阅事件

   static void Main(string[] args)
        {
            EventFunction eventFunction = new EventFunction();
            InvokeDefine invokeDefine = new InvokeDefine();
            invokeDefine.StudentEvent += eventFunction.Student1;//【4】订阅事件
            invokeDefine.StudentEvent += eventFunction.Student2;
            invokeDefine.Invoke();
            
            Console.ReadKey();
        }

五、总结

第一点:在定义事件类的外部,他是不能使用=号来操作,只能用+=。
第二点:在定义事件类的外部不能调用 事件。
第三点:事件就是在委托的前面增加一个event关键字。

posted @ 2022-03-23 15:16  码农阿亮  阅读(64)  评论(0编辑  收藏  举报