黑马程序员技术交流社区
标题:
怎么判断一个事件为空,没有引用任何方法
[打印本页]
作者:
靳石磊
时间:
2013-4-7 21:56
标题:
怎么判断一个事件为空,没有引用任何方法
RT,要自己用事件访问器保证事件中至少有一个方法,如果移除后事件为空,就不移除:
public static event IntHandler inthandler//事件访问器的使用
{
//添加访问器
add
{
//当给事件添加委托或方法时就会调用此添加访问器
if(count==3)
Console.WriteLine("已经给事件添加了三个方法!");
count++;
}
//移除访问器
remove
{
//怎么判断事件为空
}
作者:
许庭洲
时间:
2013-4-8 06:24
//
声明事件
public
event
EventHandler AEvent
{
//
添加访问器
add
{
//
注意,访问器中实际包含了一个名为value的隐含参数
//
该参数的值即为客户程序调用+=时传递过来的delegate
Console.WriteLine(
"
AEvent add被调用,value的HashCode为:
"
+ value.GetHashCode());
if
(value !=
null
)
{
//
设置m_Handler域保存新的handler
m_Handler = value;
}
}
//
移除访问器
remove
{
Console.WriteLine(
"
AEvent remove被调用,value的HashCode为:
"
+ value.GetHashCode());
if
(value == m_Handler)
{
//
设置m_Handler为null,该事件将不再被激发
m_Handler =
null
;
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2