Может кто-нибудь объяснить, как управлять сгенерированным XML?
У меня есть простой тестовый класс, NumberService ...
[Serializable]
public class NumberService
{
public int Number1 { get; set; }
public int Number2 { get; set; }
}
Теперь, если я использую XmlSerializer для десериализации экземпляра, я получаю то, что ожидал ...
<NumberService>
<Number1>23</Number1>
<Number2>45</Number2>
</NumberService>
но я пытался отправить это, а Фидлер показывал ...
<NumberService>
<_x003C_Number1_x003E_k__BackingField>10</_x003C_Number1_x003E_k__BackingField>
<_x003C_Number2_x003E_k__BackingField>2</_x003C_Number2_x003E_k__BackingField>
</NumberService>
Возмущаясь, я читал, что это из-за моего использования автоматических свойств, и действительно, если я изменил на ...
public class NumberService
{
private int _number1;
public int Number1
{
get { return _number1; }
set { _number1 = value; }
}
public int Number2 { get; set; }
}
действительно XML меняется на ...
<NumberService>
<_number1>4</_number1>
<_x003C_Number2_x003E_k__BackingField>6</_x003C_Number2_x003E_k__BackingField>
</NumberService>
Но, конечно, я не могу изменить _number1 на Number1, так как это конфликтует со свойством: - (
Так как же вы можете контролировать XML?
... и немного больше чтения ...
это касается контрактов на данные WCF