XmlArrayItemAttribute Class

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Specifies the derived types that the XmlSerializer can place in a serialized array.

Inheritance Hierarchy

System..::.Object
System..::.Attribute
System.Xml.Serialization..::.XmlArrayItemAttribute

Namespace: System.Xml.Serialization
Assembly: System.Xml (in System.Xml.dll)

Syntax

<AttributeUsageAttribute(AttributeTargets.Field Or AttributeTargets.Parameter Or AttributeTargets.Property Or AttributeTargets.ReturnValue, AllowMultiple := True)> _
Public Class XmlArrayItemAttribute _
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.Property|AttributeTargets.ReturnValue, AllowMultiple = true)]
public class XmlArrayItemAttribute : Attribute

The XmlArrayItemAttribute type exposes the following members.

Constructors

Name Description
XmlArrayItemAttribute()()() Initializes a new instance of the XmlArrayItemAttribute class.
XmlArrayItemAttribute(String) Initializes a new instance of the XmlArrayItemAttribute class and specifies the name of the XML element generated in the XML document.
XmlArrayItemAttribute(Type) Initializes a new instance of the XmlArrayItemAttribute class and specifies the Type that can be inserted into the serialized array.
XmlArrayItemAttribute(String, Type) Initializes a new instance of the XmlArrayItemAttribute class and specifies the name of the XML element generated in the XML document and the Type that can be inserted into the generated XML document.

Top

Properties

Name Description
DataType Gets or sets the XML data type of the generated XML element.
ElementName Gets or sets the name of the generated XML element.
Form Gets or sets a value that indicates whether the name of the generated XML element is qualified.
IsNullable Gets or sets a value that indicates whether the XmlSerializer must serialize a member as an empty XML tag with the xsi:nil attribute set to true.
Namespace Gets or sets the namespace of the generated XML element.
NestingLevel Gets or sets the level in a hierarchy of XML elements that the XmlArrayItemAttribute affects.
Type Gets or sets the type allowed in an array.

Top

Methods

Name Description
Equals Infrastructure. Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute.)
Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
GetHashCode Returns the hash code for this instance. (Inherited from Attribute.)
GetType Gets the Type of the current instance. (Inherited from Object.)
Match When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.)
MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Remarks

The XmlArrayItemAttribute belongs to a family of attributes that controls how the XmlSerializer serializes or deserializes an object.

You can apply the XmlArrayItemAttribute to any public read/write member that returns an array, or provides access to one. For example, a field that returns an array of objects, a collection, or any class that implements the IEnumerable interface.

The XmlArrayItemAttribute supports polymorphism—in other words, it allows the XmlSerializer to add derived objects to an array. For example, suppose a class named Mammal is derived from a base class named Animal. Further suppose that a class named MyAnimals contains a field that returns an array of Animal objects. To allow the XmlSerializer to serialize both the Animal and Mammal type, apply the XmlArrayItemAttribute to the field twice, each time specifying one of the two acceptable types.

Note

You can apply multiple instances of the XmlArrayItemAttribute or XmlElementAttribute to specify types of objects that can be inserted into the array.

Note

The serialization of a field or property that returns an interface or array of interfaces is not supported.

Note

You can use the word XmlArrayItem in your code instead of the longer XmlArrayItemAttribute.

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

System.Xml.Serialization Namespace

XmlArrayAttribute

XmlSerializer

XmlArrayItems

XmlAttributeOverrides

XmlAttributes