ReSharper约定事件处理程序的名称

当我为任何事件添加新的事件处理程序时,VS创build类似object_Click方法。 但是ReSharper强调这个方法是Warning,因为所有的方法都不应该有任何的“_”。

我如何自定义ReSharper的规则,以便它不强调这种方法? 或者可能我应该重新命名这样的方法?

提前致谢。

我个人build议重命名这些方法。 一般来说,我认为VS为控件和事件提供了可怕的名字。

我更喜欢做一个方法名称,说它做了什么,而不是调用它。 这也促进了重用。 诚然,事件处理程序的签名往往不是理想的重用 – 我认为通常一个lambdaexpression式调用具有更多合理参数的方法将是有用的:

 button.Click += (sender, args) => SaveCurrentDocument(); 

但显然devise师不支持:(

当然,重命名所有的方法将是更多的工作,而不仅仅是改变R#设置,如果你能find一些工作…

对于C#(或VB),请进行以下更改:

ReSharper | 选项| 语言| C#| C#命名样式,高级设置…从$object$_On$event$$object$_$event$更改'字段上的事件订阅'。

您可能还需要为“types和名称空间”等实体types添加其他规则,以解释代码生成的类(如“ 默认”)。 例如,添加一个带有 “名称前缀和名称样式”UpperCamelCase 的新规则

我刚刚为Visual Studio 2010(EventHandler命名)创build了一个扩展,使您可以使用简单的模式指定要生成的事件处理程序名称。 扩展中的默认模式是On $(SiteName)$(EventName),它会给你类似OnBtnNameClick而不是btnName_Click的事件名称。 你可以在http://tech.einaregilsson.com/2010/12/22/better-eventhandler-names-in-visual-studio-2010/

在你的文件菜单,你应该有“resharper”点击它 – >选项 – >命名约定(在左侧菜单)。

从那里你可以指定每个命名types/样式使用的命名约定。