关于Events事件的简单Demo.

目录结构:

Program.cs

 using System;
namespace EventsDemo
{
class Program
{
static void Main(string[] args)
{
Book book = new Book();
book.BookAdded += OnBookAdded;
book.AddBook("One");
book.BookAdded -= OnBookAdded;
book.AddBook("Two");
book.BookAdded += OnBookAdded;
book.AddBook("Three");
book.BookAdded -= OnBookAdded;
book.AddBook("Four");
}
static void OnBookAdded(object sender, EventArgs args)
{
System.Console.WriteLine("A book was added");
}
}
}

Book.cs

 using System;
namespace EventsDemo
{
public delegate void BookAddedDelegate(object sender, EventArgs args);
class Book
{
public void AddBook(string bookname)
{
if (BookAdded != null)
{
BookAdded(this, new EventArgs());
System.Console.WriteLine($"BookName:{bookname}");
}
}
public event BookAddedDelegate BookAdded;
}
}

输出:

【C#】学习笔记(3) 关于Events使用的小Demo的更多相关文章

  1. 学习笔记:python3,代码。小例子习作(2017)

    http://www.cnblogs.com/qq21270/p/7634025.html 学习笔记:python3,一些基本语句(一些基础语法的代码,被挪到这里了) 日期和时间操作 http://b ...

  2. 学习笔记:python3,代码。小例子习作

    http://www.cnblogs.com/qq21270/p/7634025.html 学习笔记:python3,一些基本语句(一些基础语法的代码,被挪到这里了) 日期和时间操作 http://b ...

  3. STM32F103X datasheet学习笔记---Interrupts and events

    1.前言 本章主要介绍STM32中断和事件相关的内容 2.NVIC NVIC管理着包括内核异常等中断 主要特性 68个外部中断源(不包含16个内部中断线) 可编程优先级为16级 低延迟异常和中断处理 ...

  4. 【C#】学习笔记(1) Delegates,Events,Lambda Expressions

    C#是跟着杨老师的教程走的,在这里感谢一下老师的无私奉献,他的cnblog地址:>cgzl,他的B站地址:>solenovex. 进入正题: Delegate表示委托,委托是一种数据结构, ...

  5. ICE学习笔记一----运行官方的java版demo程序

    建议新手和我一样,从官网下载英文文档,开个有道词典,慢慢啃. 官方文档下载: http://download.csdn.net/detail/xiong_mao_1/6300631 程序代码就不说了, ...

  6. Netty4 学习笔记之一:客户端与服务端通信 demo

    前言 因为以前在项目中使用过Mina框架,感受到了该框架的强大之处.于是在业余时间也学习了一下Netty.因为Netty的主要版本是Netty3和Netty4(Netty5已经被取消了),所以我就直接 ...

  7. 【Visual C++】游戏编程学习笔记之九:回合制游戏demo(剑侠客VS巡游天神)

    本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder  微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.com ...

  8. 学习笔记:Java的一些基础小知识之JVM与GC

      一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太 ...

  9. JAVA学习笔记(一):一个小爬虫的例子

    1.import java.io.*;   java.io.*不是一个文件,而是一组类.它是在java.io包里的所有类,*是通配符,比如a*.txt代表的就是以a开头的所有txt文件,“?”是单个词 ...

随机推荐

  1. 重新精读《Java 编程思想》系列之类的访问权限

    Java 中,我们用访问权限修饰词确定库中的哪些类对于使用者是可以使用的. 访问权限修饰词有 public,protected,private 和什么都不写. 那么对于类来说,我们只可以用 publi ...

  2. 多个 .NET 框架

    目录 应用程序编程接口 C# 和 .NET 版本控制 .NET Standard 目前存在多个 .NET 框架. Microsoft 的宗旨是在最大范围的操作系统和硬件平台上提供 .NET 实现. 下 ...

  3. 位域-isa指针

    一.isa指针结构 union isa_t { isa_t() { } isa_t(uintptr_t value) : bits(value) { } Class cls; uintptr_t bi ...

  4. TP5 try{}catch{}异常捕获不到 解决办法

    问题:TP5用下面的方法, 想要获取抛出的异常捕获不到…… 错误的写法: try{ …… } catch (Exception $e) { echo $e->getMessage(); } 正确 ...

  5. Linux中环境变量相关文件的区别

    Linux下各种不同环境变量相关文件的作用: 1. /etc/environment  设置整个系统的环境,系统启动时,该文件被执行. 2. /etc/profile     设置所有用户的环境,当用 ...

  6. Matplotlib的使用

    目录 1.pyplot基础语法 2.散点图与折线图 3.3D图与等高线图 1.pyplot基础语法 (1)创建画布 figure()创建一个空白画布,可以指定画布的大小figsize和设置分辨率dpi ...

  7. 软帝学院:一万字的Java基础知识总结大全(实用)

    Java基础总结大全(实用) 一.基础知识: 1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨 ...

  8. Netty面试题和解答(一)

    基础 TCP和UDP的区别? TCP是面向连接的(在客户端和服务器之间传输数据之前要先建立连接),UDP是无连接的(发送数据之前不需要先建立连接) TCP提供可靠的服务(通过TCP传输的数据.无差错, ...

  9. golang的make

    golang 分配内存主要有内置函数new和make,今天我们来探究一下make有哪些玩法. map只能为slice, map, channel分配内存,并返回一个初始化的值.首先来看下make有以下 ...

  10. SpringBoot整合jdbcTemplate

    一.目录展示 二.导入依赖 三.配置文件 四.Student实体类 package com.zn.entity; public class Student { private Integer stu_ ...