任何人都可以解釋爲什麼我得到的結果如下?爲什麼XmlSerializer.Order這樣做
類將被初始化:
[System.SerializableAttribute()]
public class SampleClass
{
[System.Xml.Serialization.XmlElementAttribute(Order = 10)]
public string Foo { get; set; }
[System.Xml.Serialization.XmlElementAttribute(Order = 5)]
public string Bar { get; set; }
}
XML用於反序列化:
<?xml version="1.0" encoding="utf-8" ?>
<SampleClass>
<Foo>Test1</Foo>
<Bar>Test2</Bar>
</SampleClass>
我看到美孚= Test1的(正確的)和酒吧= NULL(不正確)在去串行化類。
這是關於Order
的全部屬性。這是故意設置爲錯誤的值。一切工作正常,如果值爲0和1.
Name
和Order
標準不匹配的兩個領域,但由於某種原因一個字段是反序列化,而第二個沒有。我寧可期望看到Exception
或兩個值=空或兩個字段解決和反序列化。
對此有任何解釋嗎?
您是不是要這樣做? 'XmlSerializer(Order = 10)' – climbage
沒有XmlSerializer屬性。 –
所以你的問題是:我故意做錯了,但是想知道爲什麼它的行爲與我預期的不同? – RobH