代码改变世界

.NET事件与委托

2013-07-24 22:27  蓝海LH  阅读(166)  评论(0)    收藏  举报

对于.NET的事件与委托,网上很多文章讲的很深入,还不易理解,在此晒一下自己的心得理解。

我们现来看一下建筑工程招标的情景,建筑工程招标是批建设单位对拟建的工程发出公告,通过法定的程序和和方式吸引建设项目的承包单位竞争并从中选择条件优越者来完成工程建设任务的法律行为。

这里我做一个比方来解决事件与委托的关系,拟建工程做为一个事件,法定程序和方式就是委托,承包单位就是委托的实现。

事件的声明:

public event BuildingProposeEventHandler BuildingPropose;

委托声明:

public delegate void BuildingProposeEventHandler(Object o, BuildingProposeEventArgs e)

事件处理函数:

public void OnBuildingPropose()

{

  Console.WriteLine("Building...");

}

事件绑定处理函数:

this.BuildingPropose += New BuildingProposeEventHandler(OnBuildingPropose);

事件触发:

BuildingPropose(this,e);