1. 主页
  2. 文档
  3. C#进阶
  4. 第五章 委托
  5. 第六节 委托事件

第六节 委托事件

委托–事件:事件是委托的安全版本,第一点,在定义事件类的外部,它是不能使用=号来操作,只能用 += 第二点,在定义事件类的外部不能调用事件。另外事件就是在委托的前面增加一个envent关键字。

定义两个类一个用于定义事件和调用事件;另一个是事件函数类,里面写动作函数

    /// <summary>
    /// 定义事件和调用事件,要放在一个类内。
    /// </summary>
    class InvokeDefine
    {
        public event StudyDelegate StudyEvent;  //定义一个事件【要写在类内部】

        public void InvokeCallDelegate()
        {
            StudyEvent?.Invoke();  //null检查运算符
        }
    }
    /// <summary>
    /// 事件函数类,里面写的是动作函数。
    /// </summary>
    class EventFunction
    {
        public void Student1()
        {
            Console.WriteLine("我是Student1()函数");
        }

        public void Student2()
        {
            Console.WriteLine("我是Student2()函数");
        }
        public void Student3()
        {
            Console.WriteLine("我是Student3()函数");
        }
    }

在命名空间中定义一个委托 delegate void StudyDelegate(); //定义一个委托

在Program.cs类入口函数Main()函数中添加以下代码调用

static void Main(string[] args)
{
            Console.WriteLine("=================委托事件=================");
            EventFunction eventFunction = new EventFunction(); //事件函数类实例化,写动作
            InvokeDefine invokeDefine = new InvokeDefine();  //定义事件和调用事件类实例化
            invokeDefine.StudyEvent += eventFunction.Student1;
            invokeDefine.StudyEvent += eventFunction.Student2;
            invokeDefine.InvokeCallDelegate();
}
这篇文章对您有用吗?

我们要如何帮助您?