当前位置:主页 > 软件编程 > .NET代码 >

C#中的委托和事件

时间:2022-07-17 09:14:34 | 栏目:.NET代码 | 点击:

一、定义委托

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

您可能感兴趣的文章:

相关文章