以一个例子说明:
//定义原形
public delegate void MessageEventHandler(object sender, EventArgs e);
public event MessageEventHandler MessageReceived;
//注册事件
MessageReceived += new MessageEventHandler(HandleIt);
//使用时
MessageReceived(this,aaa) //aaa是一个EventArgs对象
//定义的处理方法
private void HandleIt(object sender, EventArgs e)
{
.....
}
我想问,这样绕了一圈,本质上不还是在使用时调用一下HandleIt方法么?那么委派的优点究竟在哪里呢?到底有什么好处呢?和直接用函数调用区别在哪里呢?
请高人解答。
请给我个直接明了的回答,如果能再结合个例子说明也好,谢谢。