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 | |
---|---|---|
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
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.