在C#中使用
之间存在根本区别 event EventHandler<myeventargs>
和
EventHandler<myeventargs>
因为除了使用event关键字之外,它们产生的效果与我所看到的相同,在intellisense中为你提供了一个不同的图标。
答案 0 :(得分:6)
他们似乎很相似,但确实不同。
使用event
关键字,您可以将它们设置为属性,这意味着您可以公开注册它们,同时维护私有后端。
但是,如果没有event
个关键字,它只是一个公共代理字段,任何人都可以删除或修改其他人。事件,这是&#34; encapsulation disaster&#34;正如@Jonskeet所说。
Jon Skeet查看article,这非常有帮助:)
修改强>:
我上面总结的不是我原来的想法,所有归功于@ Jonskeet&#39; post。