StyleCop счастливое создание Xml с использованием XDocument / XElement / XAttribute - PullRequest
5 голосов
/ 30 июня 2010

Мне нравится создавать XML с использованием следующего форматирования:

XDocument xml = new XDocument(
   new XElement("Root",
      new XElement("A",
         new XAttribute("X", xValue),
         new XAttribute("Y", yValue)),
      new XElement("B",
         new XAttribute("Z", zValue)),
      new XElement("C")));

Кажется, что он легко читается и выглядит как XML-документ с вкладками (по моему мнению). StyleCop очень недоволен форматированием. Я получаю много этих ошибок:

SA1116: Если параметры метода находятся в отдельных строках, первый параметр должен начинаться со строки, следующей за именем метода.

SA1118: параметр занимает несколько строк. Если параметр короткий, поместите весь параметр в одну строку. В противном случае сохраните содержимое параметра во временной переменной и передайте временную переменную в качестве параметра.

Что я могу сделать, чтобы StyleCop был доволен и код читался? Я знаю, что могу отключить правила StyleCop, но команда хотела бы сохранить эти правила для всего кода создания, отличного от XML. Я могу выборочно подавить правило в каждом методе, который создает XML таким способом, но это кажется болью и уродливым. Есть предложения?

1 Ответ

2 голосов
/ 06 августа 2010

Да, я бы предложил следующее:

  • Создание «ресурсов по умолчанию» для вашего проекта (щелкните правой кнопкой мыши проект, «Свойства», «Ресурсы»)
  • Создание нового строкового ресурсатам установите Имя как DefaultXmlDoc или что-то еще
  • Установите значение в виде следующего текста:
    <Root><br> <A X="1" Y="2" /><br> <B Z="3" /><br> <C /><br> </Root><br>
  • Измените вашу программу на следующий однострочный:
    XDocument xml = XDocument.Parse( Properties.Resources.DefaultXmlDoc );

Я считаю, что это достигает всех ваших целей.

...