编辑2:实际上SomeEventHandler
比OnSomeEventHandler
:更简洁
如果我让Visual Studio为我生成一个事件处理程序,则名称为,如下所示:
private void ControlOrFormName_SomeEvent(object sender, SomeEventArgs e) { }
例如,表单的Load
事件处理程序变为:
private void MyForm_Load(object sender, EventArgs e) { }
我觉得这个方案没有吸引力,它有下划线等。此外,它是私人的,所以我想到了这个:
private void LoadHandler(object sender, EventArgs e) { }
我希望这不会让任何人感到困惑(这是我正在启动的一个开源项目),而且由于它位于控件中,我看不出MyForm.LoadHandler()
有其他可能的意义。
这有道理吗?我是不是遗漏了一些东西,这些东西保证了这个名字有类名?
基本Form
类中已经有一个OnLoad
方法,以及许多其他受保护的OnEvent
方法。当需要时,您通常会在子类中override
这些方法。
在表单的代码类型中,protected override On
和IntelliSense
会显示已经使用了此命名约定,因此如果定义了相同的方法,则会隐藏继承的成员。
更新
这取决于您,但重要的是与您在整个项目中选择的任何命名约定保持一致,并确保开发团队中的每个人都知道命名约定。就我个人而言,我不会打扰,因为当项目发展到后期,这会引起不必要的头痛。
命名约定的力量并不来自于选择公约,但基于公约的存在,添加结构到代码,并减少您需要担心的事情-Steve McConnell
通常On<EventName>
用于引发事件,而不是其他任何事件。
Visual Studio帮助您实现以下众所周知的.NET命名约定。
你可以遵循它们,也可以使用自己的。
毕竟,您知道为什么广泛使用的命名约定是正确的做法:大量开发人员应该毫不费力地理解您的代码。