The exapmle provided in section “Serializing Derived Classes”(with XmlArrayItemAttribute) may be not the case

cite=https://msdn.microsoft.com/EN-US/library/vstudio/2baksw0z.aspx

Another use of the XmlArrayItemAttribute is to allow the serialization of derived classes. For example, another class named Manager that derives from Employee can be added to the previous example. If you do not apply the XmlArrayItemAttribute, the code will fail at run time because the derived class type will not be recognized. To remedy this, apply the attribute twice, each time setting the Type property for each acceptable type (base and derived).

A serialized instance might resemble the following.

However, this is not the case.
I used the following test case:

which yields the result:

As you can see, xsi:type attribute didn’t appeared in the XML document containing the serialized Group instance. Instead, the element name of derived Manager class is employed.
If I modify the definition of Group class to

Then I get the following result

which coincides with the example output stated on MSDN.
p.s. I tested the code above in VS 2013.

1 Reply to “The exapmle provided in section “Serializing Derived Classes”(with XmlArrayItemAttribute) may be not the case”

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.