当我为任何事件添加新的事件处理程序时,VS会创建类似的方法object_Click.但ReSharper将此方法强制为警告,因为所有方法都不应具有任何分隔符,例如"_".
如何自定义ReSharper的规则,以便它不强调这些方法?或者我应该重命名这样的方法?
提前致谢.
Dav*_*rth 112
对于C#(或VB),进行以下更改:
ReSharper | 选项| 语言| C#| C#命名样式,高级设置...将"字段上的事件订阅"更改$object$_On$event$为$object$_$event$.
您可能还希望向"类型和命名空间"等实体类添加其他规则,以便考虑代码生成的类,例如" 默认".例如,添加一个带有 "名称前缀和名称样式"UpperCamelCase" 的新规则.
Jon*_*eet 31
就个人而言,我建议重命名方法.一般来说,我认为VS为控件和事件提供了可怕的名字.
我宁愿做一个方法名说什么做的,而不是调用它.这也促进了重用.不可否认,事件处理程序的签名通常不适合重用 - 我认为通常调用具有更合理参数的方法的lambda表达式会很有用:
button.Click += (sender, args) => SaveCurrentDocument();
Run Code Online (Sandbox Code Playgroud)
但显然设计师不支持:(
当然,重命名所有方法比仅更改R#设置更有用,如果你能找到一些有用的话...
我刚刚为Visual Studio 2010创建了一个扩展,即EventHandler Naming,它允许您使用简单模式指定您希望生成的事件处理程序名称.扩展中的默认模式是On $(SiteName)$(EventName),它将为您提供OnBtnNameClick等事件名称而不是btnName_Click.您可以在http://tech.einaregilsson.com/2010/12/22/better-eventhandler-names-in-visual-studio-2010/获取扩展程序