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.");
}