当方法具有属性时,StyleCop SA1623是否错误触发

本文关键字:是否 SA1623 错误 StyleCop 方法 属性 | 更新日期: 2023-09-27 18:28:07

我在代码中触发了SA1623:PropertySummaryDocumentationMustMatchAccessors的几个实例,其中我有一个类似于以下的属性:

    /// <summary>
    /// Gets or Sets the location to check for files.
    /// </summary>
    [Required]
    public string SourceDirectory { get; set; }

这是MSBuild自定义任务库中使用的代码,如果有任何意义,则有问题的属性为Microsoft.Build.Framework.RequiredAttribute。

我使用的是StyleCop 4.7.14.0,没有修改默认规则。快速搜索StackOverflow、谷歌和该项目的Open Issue日志和文档都没有提到这个怪癖,我做错了什么吗?这是一个错误吗?

谢谢。

当方法具有属性时,StyleCop SA1623是否错误触发

我真的很头疼这种类型的错误,很难直观地知道它们的真正含义:

严重性代码描述项目文件行禁止显示状态错误SA1623:CSharp。文档:属性的文档摘要文本必须以开头:获取或设置一个值,该值指示

我得到了它,当我看到我的代码时,我写得很好,我以"获取或设置…"开始了我的摘要,但仍然不断得到错误

在几乎发疯之后,我意识到这显示了2布尔属性,他们告诉我的是,对于布尔属性,我实际上应该以"获取或设置一个值,指示是否…"和我的属性所做的一切开始写整句话。

例如:

/// <summary> /// 
/// Gets or sets a value indicating whether the product is active. 
/// </summary> 
public boolean Active { get; set; }

我希望这能为其他人节省时间。

根据Erv Walter在上面的评论,StyleCop规则是cAsE sEnSiive,并且必须完全如图所示:

/// <summary>
/// Gets or sets the location to check for files.
/// </summary>

注意集合上的小写