C# delegate and event 续

用申明好的delegate函数来申明event,即函数指针list。

public event ChangedEventHandler Changed;

如果event需要传递数据,则要在触发事件的地方写一个从EventArgs继承过来的类,并新建实例,在其中写好需要传递的数据,然后作为那个e传递出去。

在需要被触发的地方,用类似这个:
public EventListener(ListWithChangedEvent list)
{
List = list;
// Add "ListChanged" to the Changed event on "List".
List.Changed += new ChangedEventHandler(ListChanged);
}
的地方,往event里面加入和EventHandler签名一样的函数(类似于嵌入式中的中断服务函数)。
然后完成那个函数就行了。
如下:

// This will be called whenever the list changes.
private void ListChanged(object sender, EventArgs e)
{
Console.WriteLine("This is called when the event fires.");
}

 

posted @ 2009-02-26 17:28  Rossi  阅读(155)  评论(0编辑  收藏  举报