StyleCop 版本:4.7.53.0
问题分析
-
SA1300:ElementMustBeginWithUpperCaseLetter 要求元素必须以大写字母开头,其元素包含类名、方法名、属性名等。
-
SA1306:FieldNamesMustBeginWithLowerCaseLetter 要求字段名必须以小写字母开头。
对于窗体文件来说,这两条规则是互相矛盾的。因为窗体控件自动生成的事件是以【变量名_事件名】命名的,如果变量名符合规则,那么控件事件的方法名也将为小写开头,则不符合SA1300。
因此,一种合适的做法是取消SA1300、保留SA1306。另外自定义规则实现 public 方法名的检查。
自定义规则
-
自定义规则项目的创建及配置方法见 C#静态代码检查工具StyleCode – 自定义规则。下面仅介绍相关代码。
-
CustomAnalyzer.cs
using StyleCop;
using StyleCop.CSharp;
namespace CustomRules
{
/// <summary>
/// Custom analyzer for demo purposes.
/// </summary>
[SourceAnalyzer(typeof(CsParse

本文介绍了如何在StyleCop 4.7.53.0中处理SA1300和SA1306规则之间的冲突。由于窗体文件中自动生成的事件名称与StyleCop的命名规则冲突,作者提出了一种解决方案,即取消SA1300规则,并通过自定义规则确保public方法的首字母大写。详细内容包括问题分析和自定义规则的实现步骤。
最低0.47元/天 解锁文章
725

被折叠的 条评论
为什么被折叠?



