C#中的委托和事件
作者:農碼一生 发布时间:2021-09-14 01:01:55
标签:C#,委托,事件
一、定义委托
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


猜你喜欢
- 一.前言这一篇来看看 SpringIOC 里面的一个细节点 , 来简单看看 BeanDefinition 这个对象 , 以及有没有办法对其进
- Android底部支付弹窗实现的效果:实现的思路:1.通过继承PopupWindow自定义View来达到弹窗的弹出效果;2.通过回调将输入的
- 在日常开发的过程中我们经常会需要调用第三方组件或者数据库,有的时候可能会因为网络抖动或者下游服务抖动,导致我们某次查询失败。这种时候我们往往
- 一、回传协议接口和TCP方式实现:1.接口:import java.nio.channels.SelectionKey; import ja
- 本系列代码地址:https://github.com/JoJoTec/spring-cloud-parentOpenFeign 的由来和实现
- import java.io.BufferedReader;import java.io.File;import java.io.FileI
- 简介自从JDK中引入了stream之后,仿佛一切都变得很简单,根据stream提供的各种方法,如map,peek,flatmap等等,让我们
- 下拉刷新对于一个app来说是必不可少的一个功能,在早期大多数使用的是chrisbanes的PullToRefresh,或是修改自该框架的其他
- Lombok简介和其他语言相比,Java经常因为不必要的冗长被批评。Lombok提供了一系列注解用以在后台生成模板代码,将其从你的类中删除,
- 实现方案:我们直接参考实例代码:private String pattern = "((http|ftp
- 本示例采用基姆拉尔森计算公式来根据日期计算未来日子是星期几:首先看下百度百科的基姆拉尔森计算公式定义:基姆拉尔森计算公式W= (d+2*m+
- 安装 Tomcat 之前请一定先安装 Java ,然后才能安装 Tomcat 。安装 Java 、环境变量 path 的设置以及 cmd 小
- 最近,在使用spring cloud框架时,发现feign也能实现三方请求,而且实现很简单,请求接口的结构很清晰,便果断学习一波。记录一下。
- 我们在日常开发中,经常会遇到类似的场景:当要做一件事儿的时候,这件事儿的步骤是固定好的,但是每一个步骤的具体实现方式是不一定的。通常,遇到这
- 本文实例讲述了C#遍历操作系统下所有驱动器的方法。分享给大家供大家参考。具体分析如下:这里先通过DriveInfo类的GetDrivers方
- Canvas绘制文本时,使用FontMetrics对象,计算位置的坐标。public static class FontMetrics {
- 最近遇到一个需求需要圆形listview作为悬浮窗,费了九牛二虎之力终于开发出来了,特别有成就感,下面分享下案例,项目原因,只能分享一部分供
- 在spring的注解 @RequestMapping 之下可以直接获取 HttpServletRequest 来获得诸如request he
- 如果所有的键都是小整数,我们可以使用一个数组来实现无序的符号表,将键作为数组的索引而数组中键 i 处存储的就是它对应的值。散列表就是用来处理
- 1.写个Mybatis-plus配置类:是通过 * 实现分页@Configurationpublic class MybatisConfig