я не могу найти причину, почему свойства без добытчиков не разбор должным образом, позволь мне написать пример:C# - XML десериализация свойств
Для XML в формате
<request>
<job
mode="modefirst"
/>
<request>
Я пытаюсь десериализации его к POCO со свойством:
private ESomeEnum emode;
[XmlAttribute(AttributeName = "mode")]
public string Mode
{
set { ESomeEnum.TryParse(blah blah);
}
emode создается для значения по умолчанию в конструкторе класса, в то время как десериализации (System.Xml.Serialization без пользовательских классов, просто пытаюсь быть минималистичный здесь) XML-сверху, сеттер никогда не называют, но когда свойство «Mode» содержит поглотитель
get { return this.emode.ToString(); }
сеттер фактически удара и правильное значение, установленное во время десериализации.
Зачем возникает эта ситуация? Есть ли причина в этом?
Публичные свойства должны иметь сериализацию и сеттеры. См. [Почему моя публичная собственность не сериализована XmlSerializer?] (Https://stackoverflow.com/questions/575432/why-isnt-my-public-property-serialized-by-the-xmlserializer). – dbc