event EventHandler vs EventHandler

时间:2014-08-19 10:26:53

标签: c# event-handling

在C#中使用

之间存在根本区别

event EventHandler<myeventargs>EventHandler<myeventargs> 因为除了使用event关键字之外,它们产生的效果与我所看到的相同,在intellisense中为你提供了一个不同的图标。

1 个答案:

答案 0 :(得分:6)

他们似乎很相似,但确实不同。

使用event关键字,您可以将它们设置为属性,这意味着您可以公开注册它们,同时维护私有后端

但是,如果没有event个关键字,它只是一个公共代理字段,任何人都可以删除或修改其他人。事件,这是&#34; encapsulation disaster&#34;正如@Jonskeet所说。

Jon Skeet查看article,这非常有帮助:)

修改

我上面总结的不是我原来的想法,所有归功于@ Jonskeet&#39; post