DataMemberAttribute.Order Property
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Gets or sets the order of serialization and deserialization of a member.
Assembly: System.Runtime.Serialization (in System.Runtime.Serialization.dll)
If a type requires that one member be serialized or deserialized before another, use this property to specify an order other than the order in which data is received in the serialized XML. The basic rules for ordering data members are:
If a data contract type is a part of an inheritance hierarchy, data members of its base types are always first in the order.
Next in order are the current type’s data members that do not have the Order property of the DataMemberAttribute attribute set, in alphabetical order.
Next are any data members that have the Order property of the DataMemberAttribute attribute set. These are ordered by the value of the Order property first and then alphabetically if there is more than one member of a certain Order value. Order values may be skipped. Alphabetical order is established by calling the CompareOrdinal method.
' Define the data contract. <DataContract(Name := "Customer", Namespace := "http://www.contoso.com")> _ Public Class User Private privateName As String <DataMember(Name := "Last", EmitDefaultValue := True, IsRequired := True, Order := 2)> _ Public Property Name() As String Get Return privateName End Get Set(ByVal value As String) privateName = value End Set End Property Private privateAge As Integer <DataMember(Order := 1)> _ Public Property Age() As Integer Get Return privateAge End Get Set(ByVal value As Integer) privateAge = value End Set End Property Public Sub New() End Sub Public Sub New(ByVal newName As String, ByVal newAge As Integer) Name = newName Age = newAge End Sub End Class