首页 > 其他分享 >.net事件

.net事件

时间:2023-07-28 23:02:46浏览次数:27  
标签:上课 Console void school GoToClass 事件 net public

事件是委托的实例

三大特性订阅,触发,发布

学生,老师,学校三个类

学校有个方法叫上课倒计时,学生和老师订阅了这个方法,有一个事件叫上课铃,学生和老师有个方法叫上课去了。

学生和老师的“上课去了”方法注册到“上课”事件中。当学校倒计时结束调用这个事件,发布上课消息,学生和老师收到就会触发“上课去了”方法。

    internal class Program
    {
        static void Main(string[] args)
        {
            //实例化对象
            School school = new School();
            Student student = new Student();
            Teacher teacher = new Teacher();
            //将学生和老师的GoToClass方法订阅到学校的GoToClass方法上
            school.GoToClass += student.GoToClass;
            school.GoToClass += teacher.GoToClass;
            school.Cook();
            Console.ReadLine();
        }

    }
    public class School
    {
        //定义GoToClass事件,用于发布上课消息
        public event Action GoToClass;

        public void Cook()
        {
            Console.WriteLine("学校:午休时间到!");
            //午休时间到,发布上课消息
            GoToClass?.Invoke();
        }

    }
    public class Student
    {
        public void GoToClass()
        { Console.WriteLine("学生:去上课啦!"); }
    }
    public class Teacher
    {
        public void GoToClass()
        { Console.WriteLine("老师:去上课啦!"); }
    }

 

标签:上课,Console,void,school,GoToClass,事件,net,public
From: https://www.cnblogs.com/lin-07/p/17589071.html

相关文章

  • CAN转EtherNet/IP网关can协议的特点
    你是否曾经遇到过不同的总线协议难以互相通信的问题?远创智控的YC-EIP-CAN网关为你解决了这个烦恼!远创智控YC-EIP-CAN通讯网关是一款自主研发的设备,它能够将各种CAN总线和ETHERNET/IP网络连接起来,解决不同总线协议之间的通信障碍。作为ETHERNET/IP总线的从站,它可以连接到CAN总线中......
  • docker aspnetcore学习笔记
    在终端窗口cmd:  示例应用程序对于示例应用程序,让我们使用.NET从模板创建一个简单的应用程序。在本地计算机中创建一个名为的目录。打开终端并切换到该目录。运行以下命令,使用ASP.NET核心Web应用模板创建C#应用。$mkdirdotnet-docker$cddotnet-docker$dotne......
  • .NET Core 6.0 log4Net 日志配置
    1、安装Microsoft.Extensions.Logging.Log4Net.AspNetCore包2、创建日志配置文件log4net.config,并设置文件属性为始终复制可以去官网下载配置文件,Apachelog4net–Apachelog4net:ConfigExample-Apachelog4net<?xmlversion="1.0"encoding="utf-8"?><log4net>......
  • .NET6中配置Hangfire定时任务
    1.安装Nuget包Hangfire.CoreHangfire.SqlServer          --sqlserver数据库SqlServer需要配置其中一个包Microsoft.Data.SqlClientsystem.data.sqlclient Hangfire.As......
  • .net数据迁移的命令:
    //在Program.cs中写://Dapper可以写一设计数据库表的名字builder.Services.AddDbContext<MyDbcontext>(a=>a.UseSqlServer(builder.Configuration.GetConnectionString("Dapper")));//在appsettings.json里面写://Dapper要跟上面的保持一致"ConnectionStrings":{......
  • 把操作列表变成下拉框要加点击事件是什么
     element-ui中的:         <el-table-columnlabel="操作"width="200px">         <templateslot-scope="scope">          <el-selectplaceholder="选择">           &......
  • [回馈]ASP.NET Core MVC开发实战之商城系统(三)
    经过一段时间的准备,新的一期【ASP.NETCoreMVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】等功能的开发,今天继续讲解商品列表页面功能开发,仅供学习分享使用,如有不......
  • Asp.Net Core 集成JWT采用Rsa非对称密钥并实现自定义身份验证
    授权和鉴权分为了两个项目。首先是授权:建立Asp.netcore项目,并在Nuget包安装System.IdentityModel.Tokens.Jwt新建一个WebApi用于登录,这里使用账户密码方便调试。另外BaseResult是我封装的一个统一返回数据类型。需要注意的是audience以及JwtRegisteredClaimNames.Name......
  • 基于 Kubernetes 部署 MySQL 数据库
    本文将介绍如何基于Kubernetes部署MySQL数据库。创建服务Service创建一个Service为即将部署的MySQL数据库固定连接的IP,同时提供负载均衡,下面是mysql-service.yaml文件的内容: yaml复制代码apiVersion:v1kind:Servicemetadata:name:mysqlspec:s......
  • .NET Core 验证码 - LazyCaptcha
    1.前言    在开发网站登录,安全验证等方面的时候,我们经常会使用到验证码,以前我们制作验证码的时候,一般都会写大量的代码完成验证码的制作。有没有现成,又好用的验证码工具插件呢?当然是有的,这里就介绍一个开源又好用的验证码工具LazyCaptcha。2.LazyCaptcha介绍   ......