当我为任何事件添加新事件处理程序时,VS会创建类似object_Click
的方法。
但ReSharper将此方法强制为警告,因为所有方法都不应具有任何分隔符,例如“_”。
如何自定义ReSharper规则,以便不强调此类方法?或者我应该重命名这样的方法?
提前致谢。
答案 0 :(得分:112)
对于C#(或VB),请进行以下更改:
ReSharper |选项|语言| C#| C#命名样式,高级设置......
将“字段上的活动订阅”从$object$_On$event$
更改为$object$_$event$
。
您可能还希望向“类型和命名空间”等实体类添加其他规则,以便考虑代码生成的类,例如“ Default”。例如,添加一个带有“”名称前缀和名称样式“UpperCamelCase”的新规则。
答案 1 :(得分:31)
就个人而言,我建议重命名这些方法。一般来说,我认为VS为控件和事件提供了可怕的名字。
我更喜欢让方法名称说明做什么,而不是什么叫它。这也促进了重用。不可否认,事件处理程序的签名通常不适合重用 - 我认为通常调用具有更合理参数的方法的lambda表达式会很有用:
button.Click += (sender, args) => SaveCurrentDocument();
但显然设计师不支持:(
当然,重命名所有方法比仅更改R#设置更有用,如果你能找到一些有用的......
答案 2 :(得分:6)
我刚刚为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/
获取扩展程序答案 3 :(得分:0)
在您的文件菜单上,您应该有“Resharper”点击它 - >选项 - >命名约定(左侧菜单)。
从那里,您可以指定每种命名类型/样式使用的命名约定。