编写高质量代码改善C#程序的157个建议——建议151:使用事件访问器替换公开的事件成员变量

时间:2022-02-21 10:53:14

建议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个建议》陆敏技