托付与事件
一、托付的来历 在C++中有各种各样的指针。当中,有一种指针是指向函数或者说是指向方法的。我们能够通过调用这个指针来调用其指向的方法。可是,这种指针是不安全的。假设我们简单的把C++的指针觉得是一个记录内存地址的空间。那么。方法指针里记录的就是目标方法的调用地址。 可是,C++并没有对指针指向的对象加以不论什么的限制。你不知道这种方法会返回什么,不知道这种方法要接收多少个參数,也不知道接收的參数又是什么类型,而且在C++中。指针还能够參与运算。因此,对于调用者而言,除了看到一个地址。其余一概不知道。一切要等到调用以后才真相大白。这种指针经常被一些不轨之人所利用,让方法指针指向一个破坏系统的方法。就好比给你一把钥匙,让你打开一个盒子。盒子里面是什么?或许是蛋糕。或许那就是潘多拉之盒。 因为方法指针不完好。C#针对这一现象进行了改进——托付。托付的作用与方法指针一样,用它来指向一个方法。而且提供给客户程序调用。 但这种方法指针是有限制的,它规定好了所指向方法的返回值、參数个数以及各个參数的类型。因此。这把“钥匙”能打开蛋糕盒却打不开潘多拉之盒,感觉安全多了。 二、对“托付与事件”的理解 托付是对函数的封装能够当作给方法的特征指定一个名称。 方法是将类型參数化。所谓类型參数化就是说该方法接受一个參数,而该參数是某种类型的參数,比方int、string等等。而托付是将方法參数化