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/样式使用的命名约定。