c# - 正确命名 C# 事件和处理程序

标签 c# events naming-conventions

<分区>

从我读到的内容来看,我不确定我的事件和处理程序的命名约定是否正确。 (那里似乎有一些相互矛盾的建议)。

在下面的两个类中,谁能告诉我事件的命名权、引发事件的方法和处理事件的方法?

public class Car
{
 // is event named correctly?
 public event EventHandler<EventArgs> OnSomethingHasHappened;

 private void MoveForward()
 {
  RaiseSomethingHasHappened();
 }

 // is the named correctly
 private void RaiseSomethingHasHappened()
 {
  if(OnSomethingHasHappened != null)
  {
   OnSomethingHasHappened(this, new EventArgs()); 
  }
 }
}

和订阅者类:

public class Subscriber()
{
 public Subscriber()
 {
  Car car = new Car();
  car.OnSomethingHasHappened += Car_SomethingHasHappened();
 }

 // is this named correctly?
 private void Car_SomethingHasHappened(object sender, EventArgs e)
 {
  // do stuff
 }
}

提前致谢!

最佳答案

差不多

触发事件的方法 - On<When>Event (来自 RaiseSomethingHasHappened)

OnBeforeOpen , OnClosing , OnSomethigHasHappened

事件<When>Event (来自 OnSomethingHasHappened)

BeforeOpen , Closing , SomethingHasHappened

处理程序 <The Instance or meaningful Name><_><Event> (来自 Car_SomethingHasHappened)

Form_BeforeOpen , Window_Closing , Car_SomethingHasHappened -> 完美

关于c# - 正确命名 C# 事件和处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3317109/

相关文章:

Java 日期格式常量名称约定

c# - 如何使用编码的 UI 测试执行自己的断言

c# - 正确处理文件流和二进制流以及处理文件流

c# - Datagridview cellcontent 单击事件无法正常工作

android - 为类而不是实例实现监听器

java - 'Protection' 是可接受的 Java 类名吗

c# - 如何使用 LINQ 在函数中定义返回类型?

c# - 从 DataGrid 中自动删除新行

vb.net - Visual Studio 2012启动时崩溃

Python 包名称约定