目录
为什么要有委托
可以把方法当作参数来传递。
是什么
- 委托可以理解为就是一个类,执行委托,就是执行委托包装的方法。
- 委托定义了方法的类型,可以将方法当作另一个方法的参数进行传递。
- 其实就是一个能存放很多方法指针的调用清单,方法签名必须和委托类型签名一致,一旦调用这个清 单,那么这个清单里面的所有指针对应的方法就会依次被执行。
- 多播委托就相当于委托里面包装了多个方法,然后去执行这些方法。
- -=只能移除同一个实例的方法,可以把可变的逻辑写到委托里面。
内置委托
- Func委托接受一个或者多个入参,最多有16个入参并且带有返回值。
- Action委托接受一个或者多个入参,最多有16个入参但是没有返回值。
- Predicate委托接受一个参数并返回bool值,等价于Func<T,bool>。