Как подавить предупреждение StyleCop SA1201: Все методы должны быть помещены после всех свойств.?

Возможный дубликат:
Как подавить предупреждение StyleCop?

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

[Edit] Мне нужно подавить только это конкретное предупреждение - не для всего проекта / решения. Но я хочу знать, как это сделать ^ _ ^


person Nam G VU    schedule 20.07.2010    source источник


Ответы (3)


Вы счастливы отключить правило для всего проекта? Если да, посмотрите, работает ли это для вас: Включение или отключение правил StyleCop

person Hans Olsson    schedule 20.07.2010

Альтернативой подавлению предупреждений stylecop является их более эффективное использование. Существует правило, согласно которому вы не должны использовать регионы (по умолчанию отключено). Если вы этого не сделаете, ваша проблема исчезнет.

Вместо использования регионов используйте частичные классы. Извлеките ваш регион в новый частичный класс.

Таким образом вы получаете соответствие stylecop и функциональное разделение кода. Лучшее из обоих миров.

person Philip Smith    schedule 29.07.2010

В вашем случае правильный атрибут SuppressMessage должен выглядеть следующим образом:

[SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1202:ElementsMustBeOrderedByAccess")]
private void SomeMethod()
{
}

Обратите внимание, что вы можете разместить его на любом другом элементе (например, в классе - тогда все подобные нарушения во всем классе будут подавлены).

Я также согласен с тем, что совершенно неочевидно, что писать в этих полях.

Фактически, первым должно быть полное имя класса анализатора StyleCop, которое можно найти в исходном коде (например, из здесь). Второй должен начинаться с кода правила, затем двоеточия и имени перечисления правил (к счастью, оно всегда похоже на имя правила, отображаемое в редакторе настроек, но с без пробелов).

person Oleg Shuruev    schedule 19.09.2011