我在我的代码中触发了几个SA1623: PropertySummaryDocumentationMustMatchAccessors的实例,其中我有一个与此类似的属性:
/// <summary>
/// Gets or Sets the location to check for files.
/// </summary>
[Required]
public string SourceDirectory { get; set; }
这是MSBuild Custom Task库中使用的代码,如果有任何意义,则有问题的属性为Microsoft.Build.Framework.RequiredAttribute。
我使用StyleCop 4.7.14.0而没有修改默认规则。快速搜索StackOverflow,Google以及Project的Open Issue日志和文档都没有提到这个怪癖,我做错了什么,这是一个错误吗?
谢谢。
答案 0 :(得分:3)
我对这种类型的错误感到非常头疼,知道它们的真正含义并不直观:
严重级代码描述项目文件行抑制状态 错误SA1623:CSharp.Documentation:属性的文档 摘要文本必须以:获取或设置一个指示是否
的值
我得到了这个,在查看我的代码时,我写得很好,我用“获取或设置......”开始了我的摘要,但仍然不断收到错误
几乎疯了之后,我意识到这显示了2个 布尔 属性,他们告诉我的是 布尔属性我实际上应该写下整个句子,从“获取或设置一个值,表明是否......” 以及我的财产所做的任何事情开始。
例如:
/// <summary> /// /// Gets or sets a value indicating whether the product is active. /// </summary> public boolean Active { get; set; }
我希望这可以节省其他人的时间。
答案 1 :(得分:2)
正如Per Erv Walter上面的评论,StyleCop规则是cAsE sEnSiTive,必须完全如下所示:
/// <summary>
/// Gets or sets the location to check for files.
/// </summary>
注意集合上的小写