为什么visual studio打破了C#中方法的命名约定?

时间:2009-05-27 06:38:58

标签: c# visual-studio naming-conventions

我知道C#中类方法的命名约定是以大写字母开头,每个新单词都是大写字母(例如GetDeviceName)。

所以我的问题是为什么当我创建一个表单时,在其上放置一个控件,然后双击该控件(对于IDE自动为我创建的方法)我得到一个以非大写字母开头的方法? (例如 s electButton_Click(对象发件人,EventArgs e))

5 个答案:

答案 0 :(得分:11)

控件的事件处理程序的命名约定一直是controlName_EventName,所以基本上,它重用了你自己的控件命名约定,然后塞进事件的名称。

这可能与一般命名标准相反,但一直都是这样。

这样的结果是,像GhostDoc这样的工具可以识别这种格式,从而生成文档,虽然仍然是通用的,但比试图推断出的目的更为重要。方法本身。

例如,“controlName_EventName”方法可以这样记录:

/// <summary>
/// Handles the EventName event of the controlName control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.EventArgs"/> instance
/// containing the event data.</param>
protected void controlName_EventName(object sender, EventArgs e)
{

而不是更像这样(因为GhostDoc处理上述问题,我根据对不良方法名称的经验在这里进行了解释):

/// <summary>
/// Control names the event name.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
protected void controlName_EventName(object sender, EventArgs e)
{

答案 1 :(得分:4)

它没有严格违反.Net命名约定,因为该指南仅适用于公共方法。但是你可以认为这违反了准则的精神。

答案 2 :(得分:1)

因为在那种情况下,将使用表单控件的名称,因为它的名称就是它的名称。 我必须说我更喜欢这种方式,因为它告诉我正在使用的控件的真实名称,而不是重命名的版本。

答案 3 :(得分:1)

我感觉到你。真的,我更喜欢以下命名约定:

OnselectButtonClick()

答案 4 :(得分:1)

在连接所述事件处理程序时,不要这么快地点击Tab;)Meh,它都是生成的。他们可以改变它上面的外壳,但是另一半会为它而哭泣。这对他们来说是一个双输的局面。