Я хотел бы разместить строки, необходимые для подавления предупреждений StyleCop, как константы в классе, так что мне не нужно размещать строки по всему миру и извлекать выгоду из функции find all reference, чтобы узнать, сколько раз я подавлял, править.Почему я не могу использовать константы в [SuppressMessage (...)] вместе с StyleCop?
public class Rules
{
public const string Naming = "Microsoft.StyleCop.CSharp.NamingRules";
public const string SA1310 = "SA1310:FieldNamesMustNotContainUnderscore";
}
Украшать свой класс следующим образом
[SuppressMessage(Rules.Naming, Rules.SA1310)]
public class MyClass
{
public readonly int my_field;
}
делает StyleCop еще жалуются полей, имена которых содержат символы подчеркивания. Только при присвоении класса
[SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore")]
предупреждения StyleCop исчезают. Почему это? Является ли StyleCop прямым анализом исходного кода? Есть ли способ заставить его работать в усадьбе, указанной выше?