我在Visual Studio 2013中运行了ReSharper v8.2.1(Build 8.2.1000.4556)。我只是注意到行为,如果我在方法名称中加上下划线,“Inconsistent Naming”警告会完全消失。例如:
public void zzz()
{
// The ReSharper warning appears for this one, zzz()
}
public void zz_z()
{
// But not this one
}
我只是将我的ReSharper设置重新设置为出厂默认设置,以确保我没有其他干扰,并且相同的行为仍然存在。
我检查了“方法,属性和事件”下的命名约定(产生“zzz()”警告的有效设置),并且Name样式设置为“UpperCamelCase”,因为我一直都知道它是。没有选择“下划线宽容”设置。
所以,问题是,这是一个新的“功能”,我是否在某处错误配置了某些内容,或者我错过了一些完全明显的内容?
答案 0 :(得分:7)
我不确定这是否是8.1中的新内容,但Resharper不会对下划线方法名称发出警告,因为这是事件处理程序的约定,如object_Event(...)
。 Resharper没有标记它,因为它试图允许该约定,这就是许多代码生成器产生的。
你可以通过转到Resharper来改变这一点 - >选项 - >代码编辑 - > C# - >命名风格 - >高级设置...然后将“字段上的活动订阅”更改为$object$_$event$
以外的内容,例如$object$On$event$
。
然后它将开始对名称中带下划线的方法进行分析。