1.
C# 里 event 和 delegate 。
delegate 类似 c++中的 函数指针、回调函数。
Action 是不带返回值
Func 是带返回值
其实 event 在项目中更实用, 是 delegate的权限受限版本。
2.
event 可以很简单地实现 观察者模式。
代码里 事件注册、事件触发、事件回调,一个完整流程看起来七零八碎。
以前都是 一两个人做一套代码,想怎么写就怎么写。
现在是10多个人做一套代码(服务器和客户端甚至有很多公用代码...),event确实好用,降低不同模块关联性[降低耦合](尽管一个逻辑流程会因此零碎),方便协同开发。