Переименование значения атрибута XSLT из кода C #

Повышенная проверка компиляции с помощью parens

Авторы Spray рекомендуют, чтобы круглые парсеры увеличивали проверку компиляции. Это особенно важно для DSL, таких как Spray. Используя parens, вы сообщаете компилятору, что ему должна быть предоставлена ​​только одна строка, поэтому, если вы случайно дали ей два или более, она будет жаловаться. Теперь это не так с фигурными фигурными скобками, если, например, вы забудете оператора где-нибудь, где ваш код будет скомпилирован, вы получите неожиданные результаты и потенциально очень сложную ошибку. Ниже изобретено (так как выражения чисты и будут хотя бы давать предупреждение), но делает точку

method {
  1 +
  2
  3
}

method(
  1 +
  2
  3
 )

Первые компиляции, вторая дает error: ')' expected but integer literal found., которую автор хотел написать 1 + 2 + 3 .

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

Многозначность

Важное часто забытое примечание о многословии. Использование фигурных скобок неизбежно приводит к подробному коду, поскольку в руководстве по стилю скалы четко указано, что закрытие фигурных скобок должно быть в их собственной строке: http://docs.scala-lang.org/style/declarations.html «... закрывающая скобка находится на собственной линии сразу после последней строки функции». Многие автореформаторы, как и в Intellij, автоматически выполнит эту переформатировку для вас. Поэтому старайтесь использовать круглые парнеры, когда сможете. Например. List(1, 2, 3).reduceLeft{_ + _} становится:

List(1, 2, 3).reduceLeft {
  _ + _
}

1
задан C Sharper 7 March 2019 в 02:29
поделиться

1 ответ

Вам необходимо удалить существующий атрибут и добавить новый, например, :

var elements = root.Descendants(elementName).Descendants()
    .Where(x => (string)x.Attribute("name") == "LastResolvedDate");

foreach (var item in elements)
{
    item.Attribute("name").Remove();
    item.Add(new XAttribute("renamed_new_name", "LastResolvedDate"));
}
0
ответ дан Kirill Polishchuk 7 March 2019 в 02:29
поделиться
Другие вопросы по тегам:

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