Попытка подавить сообщение SA1513:ClosingCurlyBracketMustBeFollowedByBlankLine StyleCop

Я пытаюсь подавить следующее сообщение StyleCop для определенного свойства:

SA1513: Statements or elements wrapped in curly brackets must be followed by a blank line.

Я пытаюсь сделать следующее, но это, кажется, не работает:

    [SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules", "SA1513:ClosingCurlyBracketMustBeFollowedByBlankLine", Justification = "There are no issues with this code")]
    public string CustomerId
    {
        get
        {
            return this.GetProperty(CustomerIdProperty);
        }
        set
        {
            if (this.IsNew)
            {
                this.SetProperty(CustomerIdProperty, value);
            }
            else
            {
                throw new ReadOnlyException("Id value can only be changed for a new record.");
            }
        }
    }

Я просто делаю что-то не так? Или разве это просто не возможно? Это - хорошее правило, просто не действительное в моем случае для свойства.

Обновление

Испытанное переключение от DocumentationRules до LayoutRules... все еще подавление.

    [DataObjectField(true, false)]
    [SuppressMessage("Microsoft.StyleCop.CSharp.LayoutRules", "SA1513:ClosingCurlyBracketMustBeFollowedByBlankLine", Justification = "There are no issues with this code")]
    public string CustomerId
    {
        get
        {
            return this.GetProperty(CustomerIdProperty);
        }
        set
        {
            if (this.IsNew)
            {
                this.SetProperty(CustomerIdProperty, value);
            }
            else
            {
                throw new ReadOnlyException("Id value can only be changed for a new record.");
            }
        }
    }
5
задан mattruma 10 April 2010 в 15:53
поделиться

3 ответа

Я думаю, что это может быть проблема со StyleCop. Какая версия у вас установлена? На этой странице говорится, что:

Начиная со StyleCop 4.3.2, можно подавить сообщение о нарушениях правил, добавив атрибуты подавления в исходный код.

Я только что обнаружил, что не могу подавить ни одного сообщения. Программа установки, которую я использовал, выдает версию 4.3. Последняя версия на Codeplex - 4.4.0.0. Убедитесь, что у вас установлена именно эта версия.

Обновление

Я провел некоторую проверку и могу подавить DocumentationRules:

    [SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules",
                     "SA1600:ElementsMustBeDocumented",
                     Justification = "Reviewed. Suppression is OK here.")]

но не SpacingRules или LayoutRules. Однако, ничто из найденного мной не указывает на то, почему так должно быть.

3
ответ дан 13 December 2019 в 22:04
поделиться

Ваше подавление использует Microsoft.StyleCop.CSharp.DocumentationRules . Думаю, это должен быть Microsoft.StyleCop.CSharp.LayoutRules .

3
ответ дан 13 December 2019 в 22:04
поделиться

В StyleCop есть ошибка, которая позволяет подавлять только определенные виды правил. Это будет исправлено в StyleCop 4.4, который должен быть выпущен в ближайшее время.

2
ответ дан 13 December 2019 в 22:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: