委托delegate也是一种类型,在任何可以声明类的处所都可以声明委托,它将要领当做另一个要领的参数进行通报,这样就可以通报差此外要领,完成差此外成果,使措施具有很好的可扩展性。
举例:
假设这里有一台电脑,有人会用它写措施,有人会用它打游戏,有人会用它看影戏,有人会用它边听音乐边玩游戏,,有人会用它边听音乐边看文档,边上QQ。
这台电脑可以抽象成一个类Computer,里面有个要领DoWork,所有的人都要通过这个要领来做本身的工作。
不用委托的时候我们可以实现一些固定的对象,不够灵活:
例如:
代码如下:
class Program {
static void Main(string[] args) {
Computer computer = new Computer();
computer.DoWork(“猪八戒”, “在看影戏!”);
computer.DoWork(“沙和尚”, “在写措施!”);
computer.DoWork(“孙悟空”, “在玩游戏!”);
}
}
public class Computer {
public void DoWork(string name, string work) {
Console.WriteLine(“{0}{1}”, name, work);
}
}