C# in a nutshell 这本书讲的很清楚 我也是看了几遍才看到重点:
event对象 在拥有该对象的类内部可以把它当成和delegate一样的东西
只有在类外部使用这个event的时候才有所不同 只能使用它的+=和-=这两个运算符 不能使用任何方法去执行这个event的处理函数
简单来说event关键字把delegate原本的invoke函数 和函数式的括号调用 都变成它的拥有类的私有函数 外部任何类都不能直接通过invoke或者括号传参等方式调用这个event的处理函数
而delegate 无论它的拥有着还是其他任何类 都有全部的访问权限+= -=这些当然能用,直接invoke或者括号传参也能直接执行处理函数
event对象 在拥有该对象的类内部可以把它当成和delegate一样的东西
只有在类外部使用这个event的时候才有所不同 只能使用它的+=和-=这两个运算符 不能使用任何方法去执行这个event的处理函数
简单来说event关键字把delegate原本的invoke函数 和函数式的括号调用 都变成它的拥有类的私有函数 外部任何类都不能直接通过invoke或者括号传参等方式调用这个event的处理函数
而delegate 无论它的拥有着还是其他任何类 都有全部的访问权限+= -=这些当然能用,直接invoke或者括号传参也能直接执行处理函数