Delegate

public delegate void EventHandler(object sender, EventArgs e);
pulic EventHandler HandleMapMessage;
HandleMapMessage = MapControl;

public void MapControl(obeject sender,EventArgs e)
{
....
}

 

C#里的Delegate据说相当于C++函数指针。如上例首先,用语法delegate 定义个一个delegate(和函数签名完全一样,只是多了个关键字delegate),相当于自定义了一个类型。然后可以声明一个自定义委托的一个实例(有点类实例化对象的意思),如代码里的public EventHandler HandelMapMessage; 最后再定义一个具体实现功能的函数,返回类型,参数个数,参数顺序和类型必须完全和自定义的委托匹配,估计这样可以唯一标识。然后赋值一下:HandleMapMessage = MapControl(估计这样它们就指向同一块内存地址了)

posted @ 2016-05-29 19:24  CoderBaby  阅读(532)  评论(0编辑  收藏  举报