2010-10-12 5 views
1

просто быстрый вопрос. Я искал информацию о порядке элементов в XML-документе сериализации для объекта.xml serialization property order

Насколько я знаю, порядок (если не указано с помощью атрибутов XmlElement) будет порядком, в котором свойства присутствуют в коде типа. Однако этот порядок не гарантируется.

И вот что я ищу. Причина, по которой этот заказ не гарантируется. Я хочу взглянуть на спецификации или любую окончательную информацию, которая может пролить свет на это для меня, и Google не может доставить, поэтому я надеялся, что вы, ребята, можете мне помочь :)

Thanx заранее, Антон.

ответ

2
  1. При написании спецификации не следует гарантировать что-либо, что не имеет отношения к задаче, поскольку все, что будет сделано, это ограничить реализацию без усиления. Вы можете быть принуждены к субоптимальному или даже ошибочному поведению и не иметь никакой пользы от него.
  2. Если разработчики каким-то образом начали работать в зависимости от порядка, они бы нашли свой код сломанным, если автор класса изменил порядок свойств и/или полей. Тогда это создало бы ограничение для упомянутого автора на том, что они, как правило, могут изменять по своему усмотрению.
  3. Нет такого заказа. Частичные классы могут определять свойства и поля в отдельных файлах и переходить от одного к другому по мере развития разработки. Поля, используемые при реализации автоматических свойств, «живут» где-то, кроме определений классов. Поэтому сам заказ не гарантируется и, следовательно, не может иметь на нем другой гарантии.
  4. Если пользовательское требование, выходящее за рамки самой сериализации XML, требует заказа, автор класса может настроить специализацию. В любом случае, они, вероятно, потребуются, поскольку пользовательские требования, как правило, идут рука об руку с другими пользовательскими требованиями, а также требуют большей степени будущей проверки, чем обеспечивает реализация по умолчанию.
+0

Очень проницательный, спасибо. – Anton