C#中的委托和事件_C#教程

2022年5月5日10:17:17

一、定义委托

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关键字。

  • 作者:農碼一生  
  • 原文链接:https://www.cnblogs.com/wml-it/p/16044564.html
    更新时间:2022年5月5日10:17:17 ,共 732 字。