概述
使用原始委托来管理事件非常简单,但有点儿不足:发布类必须将委托成员公开为公共成员变量,
这样所有参与方都可以向该委托列表添加订阅者。但是将委托公开为公共成员会允许任何人访问它并发布事件
,即使对象端没有事件发生。
为了解决上述问题,EVENT 关键字就用上了。
将委托变量定义为EVENT后,只有拥有该成员的对象可以触发这个事件。
public delegate int DoSth(int a,int b);
public class A
{
public int doadd(int aa,int bb)
{
return aa+bb;
}
}
public class B
{
//public DoSth dosth;
public event DoSth dosth;
public int doEvent(int x,int y)
{
return dosth(x,y);
}
}
.....
A objA = new A();
B objB= new B();
objB.dosth += new DoSth (objA.doadd);
objB.doEvent(1,5);
......
转载于:https://www.cnblogs.com/Mayvar/archive/2009/11/29/wanghonghua-20091129.html
最后
以上就是轻松水杯为你收集整理的.NET 使用委托和事件(二)的全部内容,希望文章能够帮你解决.NET 使用委托和事件(二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复