C#中的委托、事件学习笔记
1.委托delegate
委托delegate也是一种类型,在任何可以声明类的地方都可以声明委托,它将方法当做另一个方法的参数进行传递,这样就可以传递不同的方法,完成不同的功能,使程序具有很好的可扩展性。
举例:
假设这里有一台电脑,有人会用它写程序,有人会用它打游戏,有人会用它看电影,有人会用它边听音乐边玩游戏,有人会用它边听音乐边看文档,边上QQ。
这台电脑可以抽象成一个类Computer,里面有个方法DoWork,所有的人都要通过这个方法来做自己的事情。
不用委托的时候我们可以实现一些固定的东西,不够灵活:
例如:
classProgram{ staticvoidMain(string[]args){ Computercomputer=newComputer(); computer.DoWork("猪八戒","在看电影!"); computer.DoWork("沙和尚","在写程序!"); computer.DoWork("孙悟空","在玩游戏!"); } }
publicclassComputer{ publicvoidDoWork(stringname,stringwork){ Console.WriteLine("{0}{1}",name,work); } }