生成された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>
しかし、私はこれを送信しようとしていて、Fiddlerが表示していました...
<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データ契約が含まれます