CA1030:在适用处使用事件
类型名 |
UseEventsWhereAppropriate |
CheckId |
CA1030 |
类别 |
Microsoft.Design |
是否重大更改 |
非重大更改 |
原因
公共、受保护或私有方法的名称不能以下列单词之一开头:
AddOn
RemoveOn
Fire
Raise
规则说明
该规则检测名称通常用于事件的方法。 事件遵循“观察者”或“发布-订阅”设计模式;当需要与其他对象交流一个对象的状态更改时使用这些事件。 如果为响应明确定义的状态更改而调用一个方法,则应由事件处理程序调用该方法。 调用该方法的对象应引发事件而不是直接调用该方法。
在单击按钮等用户操作会导致执行一段代码的用户界面应用程序中,可以找到事件的某些常见示例。 .NET Framework 事件模型不限于用户界面;可以在必须与一个或多个对象交流状态更改的任意位置使用它。
如何解决冲突
如果在对象状态更改时调用方法,应考虑更改设计以使用 .NET Framework 事件模型。
何时禁止显示警告
如果方法不使用 .NET Framework 事件模型,则可以禁止显示此规则发出的警告。