DataContractAttribute.Name Property
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Gets or sets the name of the data contract for the type.
Namespace: System.Runtime.Serialization
Assembly: System.Runtime.Serialization (in System.Runtime.Serialization.dll)
Syntax
'Declaration
Public Property Name As String
public string Name { get; set; }
Property Value
Type: System.String
The local name of the data contract. The default value is the name of the class that the attribute is applied to.
Remarks
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.
Examples
' Define the data contract.
<DataContract(Name := "Customer", Namespace := "https://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
// Define the data contract.
[DataContract(Name = "Customer", Namespace = "https://www.contoso.com", IsReference = true)]
public class User
{
[DataMember(Name = "Last", EmitDefaultValue = true, IsRequired = true, Order = 2)]
public string Name { get; set; }
[DataMember(Order = 1)]
public int Age { get; set; }
public User() { }
public User(string newName, int newAge)
{
Name = newName;
Age = newAge;
}
}
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: 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.