StyleCop SA1623 неправильно запускается, когда метод имеет атрибут? - PullRequest
1 голос
/ 18 марта 2012

Я запускаю несколько экземпляров 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, Google и журналах и документации Open Issue проекта не показывает упоминаний об этой причуде, я что-то не так делаю, это ошибка?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2017

У меня была настоящая головная боль с этим типом ошибки, и было не интуитивно понятно, что они на самом деле имели в виду:

Код серьезности Описание Состояние подавления строки файла проекта Ошибка SA1623: CSharp.Documentation: документация свойства текст резюме должен начинаться с: Получает или задает значение, указывающее, является ли

Я получал это, и, глядя на мой код, он был хорошо написан, я начал свое резюме с "Получить или наборы ...", но все равно продолжал получать ошибку

После того, как я почти сошел с ума, я понял, что это показывает для 2 логических свойств, и что они говорили мне, что для логических свойств я должен на самом деле напишите целое предложение, буквально начинающееся с «Получает или задает значение, указывающее, является ли ...» и все, что делает мое свойство.

Например:

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

Надеюсь, это сэкономит время другим.

2 голосов
/ 19 марта 2012

В соответствии с комментарием Эрва Уолтера, приведенным выше, правило StyleCop - cAsE sEnSiTive и должно быть точно таким, как показано:

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

Обратите внимание на нижний регистр на наборах

...