您的位置:首页 > 编程语言 > C#

读书笔记_C#技术内幕_第十一章(委托和事件)(事件部分)

2008-08-21 14:43 621 查看
事件:
在C#中的事件是指确实发生的用户定义的情况。它是初始化程序元素之间通信的动态格式的机制。事件不是从程序的一部分到另外一部分的过程流,而是建立程序之间的连接的方法和在运行过程间的终结操作。
[modifiers] event type name;

下面的例子展示如何声明、注册和触发事件
// Define the delegate
public delegate void MenuHandler();

class MenuItem
{
// Define the event
public event MenuHandler MenuSelection;

public void Fire()
{
MenuSelection();
}
}

// Regist menu selection events
MenuItem item = new MenuItem();
item.MenuSelection += new MenuHandler(item_MenuSelection);
item.MenuSelection += new MenuHandler(item_MenuSelection1);
// Invoke the events
item.Fire();

// Implement the event
void item_MenuSelection1()
{
MessageBox.Show("2");
}

void item_MenuSelection()
{
MessageBox.Show("1");
}
事件可以被多个注册,在触发时,响应事件的实现会被依次执行。如果事件不再需要触发,则可通过如下代码将事件中的方法删除:
item.MenuSelection -= new MenuHandler(item_MenuSelection);
item.MenuSelection -= new MenuHandler(item_MenuSelection1);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: