任何人都可以解释为什么我得到的结果如下?为什么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