什么是委托(delegate)
Msdn中对Delegate的解释如下:
C#中的委托类似于C或C++中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与C或C++中的函数指针不同,委托是面向对象、类型安全的,并且是安全的。
换句话说,delegate是一种数据类型,delegate类中封装的是方法的执行起点。delegate让我们可以把方法变成一个变量来管理和操作。
使用委托
我们常用用委托来控制动态变化的方法调用。比如当我需要一句情况调用一些方法中的一个或几个,就可以使用委托类来对方法进行统一管理。
- 委托的声明和初始化:
public delegate void TestCall(); //声明一个委托类
public TestCall testcall