在C#中,使用
event EventHandler<myeventargs>和EventHandler<myeventargs>都产生了相同的效果,除了使用Event关键字之外,它们在intellisense中给您提供了一个不同的图标。
event EventHandler<myeventargs>
EventHandler<myeventargs>
发布于 2014-08-19 10:37:06
他们看起来很像,但真的很不一样。
使用event关键字,您可以使它们类似于属性,这意味着您可以在公共场合注册它们,同时维护私有的后端。
event
但是,如果没有event关键字,它只是一个公共委托字段,任何人都可以删除或修改其他人的事件,这是@封装灾难所说的"封装灾难“。
请查看这个由Jon编写的文章,它非常有用:)
编辑
我上面总结的并不是我最初的想法,所有的功劳都归功于@Jonskeet的帖子。
https://stackoverflow.com/questions/25381087
相似问题