- 1
XElement rootNode = XDocument.Load("hospital.xml").Descendants().Descendants("mainform").Single(x => x.Attribute("value").Value.Split("\\".ToCharArray()).Contains(splitted[1]));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+140.9
XElement rootNode = XDocument.Load("hospital.xml").Descendants().Descendants("mainform").Single(x => x.Attribute("value").Value.Split("\\".ToCharArray()).Contains(splitted[1]));
Весь проект в подобном говне, дебажить невозможно
that's called LINQ, sucker
В этом коде не правильно построены цепочки операторов запроса.
Сравните такое построение:
и такое:
Это лучше чем *!!!верстать!!!* на блядском сишном синтаксисе, процедуры. Взгляните на вещи трезвыми глазами, ООП требует нового подхода. Который перед нашими глазами.
Обычный LINQ-to-Xml, что не нравится? Разве что переформатировать стоит для читабельности:
XElement rootNode = XDocument.Load("hospital.xml")
.Descendants()
.Descendants("mainform")
.Single(x => x.Attribute("value").Value
.Split("\\".ToCharArray())
.Contains(splitted[1]));
Надо знать язык, на котором пишешь:)
1) XDocument.Load("hospital.xml") - при загрузке дока
2)Descendatns() == null
3)Descendants("mainform")
3) x.Attribute("value")
4) splitted[1] == null
И подумай какого это будет дебажить и суппортить тому кто этот код не писал
При чем здесь новый подход в ООП? Писать надо нормально
[quote=Говногость]
Посмотри код выше, и подумай, в каких местах потенциально может быть ошибка
1) XDocument.Load("hospital.xml") - при загрузке дока
2)Descendatns() == null
3)Descendants("mainform")
3) x.Attribute("value")
4) splitted[1] == null
[/quote]
Ты удивишься:) Спецификации LINQ предписывают не возвращать null ни при каких обстоятельствах, вместо это при необходимости - бросать исключение.
Разумеется, исключения надо обрабатывать, тут и спорить нечего.