事件
一.什么是事件:
事件就是委托的安全版本,第一要定义在事件类的外部,不能使用=来操作只能使用+=来操作,第二点就是在定义的事件类外部不能调用事件。另外就是事件就是在委托前面加一个event关键字
二。简单使用
delegate void delegate1();
class EventExample
{
static void Main(string[] args)
{
InvokeDefine invokeDefine = new InvokeDefine();
EventFunction eventFunction = new EventFunction();
invokeDefine.EventEx += eventFunction.EventFuc1;
invokeDefine.EventEx += eventFunction.EventFuc2;
}
}
class InvokeDefine
{
public event delegate1 EventEx;
public void EventInvoke()
{
EventEx?.Invoke(); //非空验证符
}
}
class EventFunction
{
public void EventFuc1()
{
//逻辑实现
}
public void EventFuc2()
{
//逻辑实现
}
}
这样就可以进行事件的定义以及调用了。
三。类比winform中的事件:
public delegate void EventHandler(object? sender, EventArgs e);
public event EventHandler Click;
怎么调用的呢?
四.总结:
事件也是我们常用的一种思想或者说是工具,我们比如说在某些特定的条件下需要进行一个调用链式的触发调用的时候,我们往往会考虑事件,同时在底层的源码中大量的使用了事件,以上就是我对于事件的使用的理解,欢迎大家批评指正!!!