我对委托/事件的理解
当想实现下面这个功能的时候就可以用委托/事件,
有一个主程序,其中有一个看PPT文档的类,但是看PPT速度很慢,主程序继续运行,当PPT看完了之后
需要通知主程序,这时候就需要使用委托/事件。
--------------------------------------------------
在看PPT类中定义委托和事件,如
public delegate void ReadPPTEndEventHandler(参数,参数,参数);
public event ReadPPTEndEventHandler ReadPPTEndEvent; //再用上面的方法定义一个Event
假设PPT里面有一个Read()方法
pulibc void Read()
{
//....若干代码
//当读完了之后,这里需要调用ReadPPTEndEvent,其实就是调用主程序的一个方法,去通知
主程序
if(ReadPPTEndEvent!=null)
{
this.ReadPPTEndEvent(参数,参数,参数);
}
}
--------------------------------------------------
再看主程序代码,
主程序中肯定有一个和ReadPPTEndEventHandler(参数,参数,参数)参数一样的方法,假设叫做
Main_ReadPPTEndEvent(参数,参数,参数),注意:这里只需要参数对应就可以,方法随便!!
--------------------------------------------------
下面是开始调用
PPT.ReadPPTEndEvent += new PPT.ReadPPTEndEvent(Main_ReadPPTEndEvent);//这里声明,必须把主
程序的方法Main_ReadPPTEndEvent传入
PPT ppt = new PPT();
ppt.Read();
--------------------------------------------------
:( 我的理解就是这样。。。。