当前位置:首页 > 代码相关 > 正文内容

C#事件_Sample_1

admin6年前 (2020-03-28)代码相关8108

事件模型的五个组成部分:

1、事件的拥有者(event source,只能是对象或类)

2、事件成员(event,成员)

3、事件的响应者(event subscriber,对象)

4、事件处理器(event handler,成员)--本质上是一个回调方法

5、事件订阅--把事件处理器与事件关联在一起

using System;
using System.Timers;

namespace _20200328_事件_Sample_1
{
    class Program
    {
        static void Main(string[] args)
        {
            Timer timer = new Timer();
            timer.Interval = 1000;

            Boy boy = new Boy();
            Girl girl = new Girl();

            timer.Elapsed += boy.Action;
            timer.Elapsed += girl.Action;
            timer.Start();

            Console.ReadKey();
        }

    }

    class Boy
    {
        internal void Action(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("Jump!");
        }
    }

    class Girl
    {
        internal void Action(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("Sing!");
        }
    }
}


扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:https://lovedm.club/?id=24

标签: C#事件
分享给朋友:
返回列表

上一篇:C# 委托

下一篇:C#事件_Sample_2

“C#事件_Sample_1” 的相关文章

C# 属性,get,set使用

属性反映了状态,是对字段的自然扩展。下面的代码,有一个学生类,类中有年龄属性,通过get,set对年龄进行值的获取与设置,同时对年龄进行约束,使值控制在0-120之间,否则抛出异常信息。namespace _20200324_2 {     cl...

C# 委托

C# 委托

Action和Func是.NET类库的内置委托,以简便使用。Func有17个重载还可以使用delegate关键字创建委托下面的代码展示了这三种使用委托的方法namespace _20200327 {     public delegat...

C# 正则表达式(1)

C# 正则表达式(1)

用于匹配输入文本的模式string s = "this is a test!"; string res = Regex.Replace(s, "^",&nbs...

C# 多线程(1)

一、首先看几个词的含义:进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。线程:线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的...

C、C++、C#交换变量

C、C++、C#交换变量

最近重新看了看C和C++,觉得有些地方挺有意思。作为一开始不管什么资料都会用来做例子的一个程序,交换变量。不管在哪,常用的int,float,double类型的变量都是值类型的,作为参数传到函数(方法)中时,其实是复制了一个值进去,也就是说通过函数是无法直接更改这些值的,只能通过一些间接的方法来更改...

C语言字符串换行连接

C语言字符串换行连接

有时候遇到一个字符串太长一行放下不好看的情况,可以使用换行连接:一是使用 符号,如下所示:char* testString = "AAA BBB";运行如下:注意换行后的内容一定要顶到格子的最前面,否则会把前面的空格也算上。char* ...