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);
}
}
查看全文
相关阅读:
对图像边缘进行随机均匀采样的C#算法实现
[淡藤]最近几年在Chinapub上买的书
重新认识C#: 玩转指针
又是一年春来到
需求定律在起着作用
haha, 愚人节听鱼人歌
名字就叫奥格工作室!
effective c++ 第六章
com 名字对象(1)IBindCtx
com 名字对象(2)创建名字对象(IMoniker)
原文地址:https://www.cnblogs.com/gb2013/p/1594170.html
最新文章
Windows CardSpace(WCS)
如何安装WCF以便让IIS能够承载svc文件
ADO.NET Data Service之CRUD操作
如何在ajax请求中设置特殊的RequestHeader
用Word画原型{转载}
Win 7 :禁用计算机的休眠模式
如何在AJAX应用中访问ADO.NET Data Service
如何:在 DHTML 代码和客户端应用程序代码之间实现双向通信
如何让WCF服务更好地支持Web Request和AJAX调用
Win7:如何让某个事件发生后启动某个任务
热门文章
.NET Framework中的配置文件(config)
javascript中对json数据的处理
如何在Web应用程序中实现自定义身份验证对话框
FlagsAttribute属性在enum中的应用{转载}
ADO.NET Data Service中如何自定义Operation
Getting Started with Windows Live Contacts API
如何在WCF解决方案中使用WCS(windows cardspace)作为身份验证方式
在WebBrowser控件中实现自动登录并跳转到指定页面
今日购书
高长宏
Copyright © 2011-2022 走看看