zoukankan
html css js c++ java
C#笔记 使用自定义事件(含参)
Code
class
含参事件测试
{
//
6.现在来触发事件
static
void
Main(
string
[] args)
{
Dog dog
=
new
Dog();
Host host
=
new
Host(dog);
//
当前时间:从2009年11月1日23:59:50开始计时
DateTime now
=
new
DateTime(
2009
,
11
,
1
,
23
,
59
,
50
);
DateTime midnight
=
new
DateTime(
2009
,
11
,
2
,
0
,
0
,
0
);
//
等待午夜的到来
Console.WriteLine(
"
时间一秒一秒地流逝……
"
);
while
(now
<
midnight)
{
Console.WriteLine(
"
当前时间:
"
+
now);
Thread.Sleep(
1000
);
now
=
now.AddSeconds(
1
);
}
//
午夜零点小偷到达,小狗发出警报事件
Console.WriteLine(
"
\n月黑风高的午夜\n
"
);
Console.WriteLine(
"
小偷进入了房间……
"
);
AlarmEventArgs e
=
new
AlarmEventArgs(
3
);
dog.OnAlarm(e);
}
}
//
构造事件参数
public
class
AlarmEventArgs : EventArgs
{
public
int
numberOfThieves;
public
AlarmEventArgs(
int
numberValue)
{
this
.numberOfThieves
=
numberValue;
}
}
//
事件发送者
class
Dog
{
//
1.声明关于事件的委托
public
delegate
void
AlarmEventHandler(
object
sender,AlarmEventArgs e);
//
2.声明事件
public
event
AlarmEventHandler Alarm;
//
3.编写引发事件的函数
public
void
OnAlarm(AlarmEventArgs e)
{
if
(
this
.Alarm
!=
null
)
{
Console.WriteLine(
"
\n小狗:有小偷进来了,汪汪……\n
"
);
this
.Alarm(
this
,e);
}
}
}
//
事件接收者
class
Host
{
//
4.编写事件处理程序,参数中包含着numberOfThieves信息
//
如果只有一个小偷,则抓住小偷;如果多于一个,主人报警
void
HostHandleAlarm(
object
sender, AlarmEventArgs e)
{
if
(e.numberOfThieves
<=
1
)
{
Console.WriteLine(
"
主人:抓住小偷!
"
);
}
else
{
Console.WriteLine(
"
主人:我家来了{0}个小偷,快报警!
"
,e.numberOfThieves);
}
}
//
5.注册事件处理程序
public
Host(Dog dog)
{
dog.Alarm
+=
new
Dog.AlarmEventHandler(HostHandleAlarm);
}
}
查看全文
相关阅读:
23种设计模式
设计模式中类的关系
简单工厂模式
SQL正则表达式
C#中各种计时器
C# List 排序
常见名词解释
PetaPoco入门
jQuery UI Dialog
c# winform 获取当前程序运行根目录
原文地址:https://www.cnblogs.com/gb2013/p/1594170.html
最新文章
正则表达式
WP8.1简单项目 《在线词典》
修改Windows下的键盘映射
单片机C语言开发学习笔记---动态的数码管
An Easy C Program Problem
VS2015+Windows 10下配置opencv3.0
Spring 中的页面重定向
Java 使用 Stream API 筛选 List
在DLL中导出另一静态库中的函数
c++运行时类型识别(rtti)
热门文章
win32使用ATL显示C#COM窗体
C++调用com控件方法
NPAPI简介
在Javascript中使用protobuf与c++进行通信
thunk技术
MFC笔记<持续更新>
CRT堆
boost库之graph入门
使用VS自带的工具分析.NET程序的性能
C#多线程编程简述
Copyright © 2011-2022 走看看