C# 如何命名引发事件的方法
我有一个方法(Read),在有新日志时引发事件:C# 如何命名引发事件的方法,c#,naming-conventions,C#,Naming Conventions,我有一个方法(Read),在有新日志时引发事件: public class LoggerModel: ILoggerModel { public event System.EventHandler LogsChanged; ... public void Read() { if (ThereAreNewLogs()) { OnLogsChanged(System.EventArgs.Empty); } } } 但我觉得“Read()”没有表现
public class LoggerModel: ILoggerModel {
public event System.EventHandler LogsChanged;
...
public void Read() {
if (ThereAreNewLogs()) {
OnLogsChanged(System.EventArgs.Empty);
}
}
}
但我觉得“Read()”没有表现力……有什么建议吗?我称之为
CheckIfLogChanged()
是的,它让人困惑。。。我会叫它Listen()或类似的东西。。也许令人吃惊
此外,您还必须检查是否有人已注册参加OnLogsChanged活动
打电话
if(OnLogsChanged != null)
{
OnLogsChanged(EventArgs.Empty);
}
这是一个品味的问题,我个人使用的是
TriggerEvent
,其中“event”当然是事件的名称。它也是检查事件是否为null的好地方。但在我的例子中,它是一个私有方法,而您的读取方法是公共的,如果引发事件需要“手动”调用某个提醒方法,那么它与基于事件的通信imho的理念是不一致的。该方法的真正范围是验证并处理日志中的新条目
所以对我来说可以是VerifyNewLogs,或者类似的东西
但是最好的解决方案是为它添加文档,您将在其中描述该方法正在做什么。这肯定会在将来帮助你或其他人