建议151:使用事件访问器替换公开的事件成员变量
事件访问器包含两部分内容:添加访问器和删除访问器。如果涉及公开的事件字段,应该始终使用事件访问器。代码如下所示:
class SampleClass { EventHandlerList events = new EventHandlerList(); public event EventHandler Click { add { events.AddHandler(null, value); } remove { events.RemoveHandler(null, value); } } }
使用事件访问器的好处是,提供对赋值更多细粒度的控制。这就好比应该使用属性而不使用字段一样。所以下面的代码没有事件访问器灵活:
class SampleClass { EventHandlerList events = new EventHandlerList(); public event EventHandler Click; }
转自:《编写高质量代码改善C#程序的157个建议》陆敏技