C#中代表DELEGATE的作用是什么?
delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。
与其它的类不同,delegate类能够拥有一个签名(signature),并且它只能持有与它的签名相匹配的方法的引用。
上面的定义解释了一个delegate的声明定义了一个reference type, 而这个reference type是用来将一个方法利用一个指定的形式压缩起来。一个delegate的实例压缩一个静态或者一个实例方法。Delegates和C++中的功能指针很相似。然而,不同的是,delegate是安全的,并且是Type-safe。
C#中的委托
1. 委托类似与 C或C++中的函数指针,但委托是 面向对象的,并且是类型安全的
2. 委托 就相对与 一类方法 (即方法类,或者方法接口)
而这一类方法都具有相同的 修饰符、形参以及 返回值类型
委托,既是方法:
声明委托的方式如下:在修饰符后加上 delegate ['dɛlɪɡət]关键字
从格式上看,它与方法的声明极为相似,就是多了个 delegate关键字而已
表示声明了一类,修饰符为public、一个string类型形参的、没有返回值的方法
但委托不是普通的方法,因为它也是类,
所以委托只能声明,而不能定义,如不能这样写:
实例化委托,调用委托: