XmlArrayItemAttribute Class

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

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

The XmlArrayItemAttribute type exposes the following members.

Constructors

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XmlArrayItemAttribute() Initializes a new instance of the XmlArrayItemAttribute class.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XmlArrayItemAttribute(String) Initializes a new instance of the XmlArrayItemAttribute class and specifies the name of the XML element generated in the XML document.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XmlArrayItemAttribute(Type) Initializes a new instance of the XmlArrayItemAttribute class and specifies the Type that can be inserted into the serialized array.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 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
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 DataType Gets or sets the XML data type of the generated XML element.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 ElementName Gets or sets the name of the generated XML element.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 Form Gets or sets a value that indicates whether the name of the generated XML element is qualified.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 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.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 Namespace Gets or sets the namespace of the generated XML element.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 NestingLevel Gets or sets the level in a hierarchy of XML elements that the XmlArrayItemAttribute affects.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 Type Gets or sets the type allowed in an array.

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Equals Infrastructure. Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 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.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetHashCode Returns the hash code for this instance. (Inherited from Attribute.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetType Gets the Type of the current instance. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Match When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 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.

NoteNote:

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

NoteNote:

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

NoteNote:

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

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

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.