委托事件
一、定义委托
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
技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
开源库地址,欢迎点亮:
GitHub:https://github.com/ITMingliang
Gitee: https://gitee.com/mingliang_it
GitLab: https://gitlab.com/ITMingliang
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。