基本的自定义委托形式:
Public delegate void Delegate(){
}
委托是一种引用类型的类。类似cpp函数指针。委托的基础使用就是快速去间接调用某些方法。
C#system库自带委托:
Action 委托无返回值(void)
Func 委托必须有返回值。
委托的常用在作为参数传入某个方法,同时在委托里面间接调用其他方法。实现多方法的快速耦合。
缺点:
委托的多播会造成内存泄漏:委托会引用一个方法,如果这个方法是一个实例方法(非静态方法)的话,那么这个方法必须隶属于一个对象,拿一个委托引用这个方法,那么这个对象必须存在在内存中,即便没有其他引用变量引用这个对象了,这个对象的内存也不能被释放,因为一旦释放,内存就不能再间接调用对象的方法了。 Memory leak