当要把方法传送给其他方法时,需要使用委托。我们习惯于把数据作为参数传递给方法,如上面的例子所示。所以,给方法传递另一个方法听起来有点奇怪。而有时某个方法执行的操作并不是针对数据进行的,而是要对另一个方法进行操作。更麻烦的是,在编译时我们不知道第二个方法是什么,这个信息只能在运行时得到,所以需要把第二个方法作为参数传递给第一个方法。
事件就是在我们进行某一个操作时引发的一系列方法组合,以达到某一个目的。
总而言之,委托就是将某一个事件以参数的形式传给一个方法来运行。和使用类的方法相似,使用委托时也需要对委托进行声明,如下所示:
delegate void initMethodInvoker(string x);
使用时需要先创建一个委托方法的实例,就类似与类和对象之间的创建关系一样。
int x;
initMethodInvoker method=new initMethodInvoker (x.ToString);
其中x.ToString为int型转化方法。