C#中的委托是一种观察者模式的简便实现方式,可以避免大量的编码
.net内置有可以符合大部分需求的委托Func和Action
Func有一个TResult返回值
而Action没有返回值
自定义委托使用delegate关键字
委托可以被一些方法订阅,订阅了委托的方法称为订阅者
使用+=操作符订阅,使用-=操作符取消订阅
事件是委托的一种安全实现
一般使用内置的EventHandler事件(无返回值)
自定义事件使用event关键字
它和委托的区别有
1.事件只能使用+=与-=操作符,不能使用=操作符
2.事件只能由包容类调用,其它类只能添加订阅方法或取消订阅
注意事项