DataContractAttribute.Name Property
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Gets or sets the name of the data contract for the type.
Assembly: System.Runtime.Serialization (in System.Runtime.Serialization.dll)
Property Value
Type: System.StringThe local name of the data contract. The default value is the name of the class that the attribute is applied to.
The Name property is used to give a name to a data contract, which is also the name of the type in XML schema.
By default, the name of a data contract is the name of the type that the DataContractAttribute is applied to. However, there may be reasons to change this default name. One reason is to allow an existing type to process data that must conform to an existing data contract. For example, there exists a type named Person but the data contract, embodied in an XML schema, requires that the name be Customer. The contract can be satisfied by setting the property value to Customer.
A second reason is to allow the generation of names that are invalid as type names. For example, if a data contract demands a name that is not allowable as a type name, set the property value to that disallowed name. For example, the string $value is disallowed as a type name but is allowed as a Name property value.
' Define the data contract. <DataContract(Name := "Customer", Namespace := "http://www.contoso.com", IsReference := True)> _ 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